如何重载PowerShell内置类的方法

3

我能否重载PowerShell内置类的方法?如果可以,该如何操作?有代码示例更好。

实际上,我想要重载Hashtable Dictionary PowerShell对象的Equals方法以进行适当的比较。

我知道您可以在PowerShell中重载cmdlet或函数,而最新定义会被采用。但是我尝试的不是重载cmdlet或函数,而是尝试重载现有类的内置方法。我已经查看过这篇帖子:PowerShell中的函数重载

1个回答

7

好的,您可以通过以下方式从C#代码中重载它:

$Source = @"
    class MyHashTable : HashTable
    {
        public override Equals(...) { ... }
    }
"@

Add-Type -TypeDefinition $Source -Language CSharp 

$x = New-Object MyHashTable ...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接