我可以重载PowerShell内置类的方法吗?如果是,那怎么样?任何代码示例都会很棒。
基本上,我试图重载Hashtable Dictionary PowerShell对象的Equals方法来进行适当的比较。
我知道您可以在PowerShell中重载cmdlet或函数,以及所采用的最新定义。但我试图重载不是cmdlet或函数,但尝试重载现有类的内置方法。我已经查看了这篇文章:Function overloading in PowerShell
答案 0 :(得分:6)
好吧,你可以用这种方式从C#代码重载它:
$Source = @"
class MyHashTable : HashTable
{
public override Equals(...) { ... }
}
"@
Add-Type -TypeDefinition $Source -Language CSharp
$x = New-Object MyHashTable ...