如何重载 PowerShell 内置 class 的方法

How to overload the PowerShell inbuilt class's methods

我可以重载 PowerShell 内置的 class 方法吗?如果是那么如何?任何代码示例都很棒。

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

我知道您可以在 PowerShell 中重载 cmdlet 或函数,以及采用的最新定义。但我试图重载的不是 cmdlet 或函数,而是试图重载现有 class 的内置方法。我已经检查过这个post:Function overloading in PowerShell

好吧,您可以通过 C# 代码以这种方式重载它:

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

Add-Type -TypeDefinition $Source -Language CSharp 

$x = New-Object MyHashTable ...