我可以为System.Object
(所有)的所有子类创建一个扩展方法吗?
例子:
<Extension>
Public Function MyExtension(value As Object) As Object
Return value
End Function
上述函数不适用于对象实例:
Dim myObj1 As New Object()
Dim myObj2 = myObj1.MyExtension()
编译器不接受,是我电脑的问题吗?:)
更新问题似乎只发生在VB中,其中对象的成员通过反射(后期绑定
)
查找。
回答后更新
仅供参考,因为 vb 具有 C# 缺乏的优势,即导入模块的成员被导入到全局范围,因此您仍然可以在没有包装器的情况下使用此函数:
Dim myObj2 = MyExtension(myObj1)