如何重载PowerShell内置类的方法

Ama*_*rma 2 powershell overloading

我可以重载PowerShell内置类的方法吗?如果是,那怎么样?任何代码示例都会很棒.

本质上,我试图重载Hashtable Dictionary PowerShell对象的Equals方法来进行适当的比较.

我知道您可以在PowerShell中重载cmdlet或函数,以及所采用的最新定义.但我试图重载不是cmdlet或函数,但尝试重载现有类的内置方法.我已经检查了这篇文章:PowerShell中的函数重载

maj*_*tor 6

好吧,你可以用这种方式从C#代码重载它:

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

Add-Type -TypeDefinition $Source -Language CSharp 

$x = New-Object MyHashTable ...
Run Code Online (Sandbox Code Playgroud)