我正在使用 vb.net 中的泛型类。
如果不指定类型,扩展方法似乎不能应用于泛型类。
我有这个通用类
Public Class MyGeneric(Of T)
'Methods and properties go here
'
'
End Class
还行吧
<Extension()> _
Public Sub DoSomething(ByVal myGenericDoubleObj As MyGen(Of Double))
End Sub
这不好(IDE 给了我未定义的错误 T。)
<Extension()> _
Public Sub DoSomethingGeneric(ByVal myGenericObj As MyGen(Of T))
End Sub
这与.Net的静态检查有关吗?
对我说“你可以尝试用 Type T 做的事情可能不兼容,我不会允许你这样做。”
PS 作为通用类,我所承受的所有这些痛苦都来自另一个库,并在许多不同的地方使用。我对在我继承的泛型类中继承和添加这个方法有点警惕。