将扩展方法应用于泛型类型泛型类型
问题描述:
我正在使用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做的事情可能不兼容,我不会允许你这样做。”
P.S.所有这些作为泛型的痛苦来自另一个库,并在许多不同的地方使用。我对在继承的泛型类中继承和添加此方法有点谨慎。
答
如果你把你的扩展方法的泛型方法它应该工作
即DoSomething的(Of T)已()只是DoSomething的()
<Extension()> _
Public Sub DoSomething(Of T)(ByVal myGenericObj As MyGeneric(Of T))
End Sub
希望这有助于
+0
我得到它的工作。 我的小愚蠢。 谢谢。 – Biswanath 2008-12-08 10:30:31
的instread + 1为我正在寻找的 – 2009-07-10 13:37:04