我能否重载PowerShell内置类的方法?如果可以,该如何操作?有代码示例更好。
实际上,我想要重载Hashtable Dictionary PowerShell对象的Equals方法以进行适当的比较。
我知道您可以在PowerShell中重载cmdlet或函数,而最新定义会被采用。但是我尝试的不是重载cmdlet或函数,而是尝试重载现有类的内置方法。我已经查看过这篇帖子:PowerShell中的函数重载
我能否重载PowerShell内置类的方法?如果可以,该如何操作?有代码示例更好。
实际上,我想要重载Hashtable Dictionary PowerShell对象的Equals方法以进行适当的比较。
我知道您可以在PowerShell中重载cmdlet或函数,而最新定义会被采用。但是我尝试的不是重载cmdlet或函数,而是尝试重载现有类的内置方法。我已经查看过这篇帖子:PowerShell中的函数重载
好的,您可以通过以下方式从C#代码中重载它:
$Source = @"
class MyHashTable : HashTable
{
public override Equals(...) { ... }
}
"@
Add-Type -TypeDefinition $Source -Language CSharp
$x = New-Object MyHashTable ...