Я работал с общим классом в vb.net.
И кажется, что метод расширения не может быть применен к универсальному классу без указания типа.
У меня есть этот общий класс
Public Class MyGeneric(Of T)
'Methods and properties go here
'
'
End Class
Это Ok
<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. Говорить мне "Что-то, что вы можете попробовать с типом T, может несовместимо, и я не позволю вам это делать".
P.S. Вся эта боль, которую я принял как общий класс, исходит из другой библиотеки, и используется во многих разных местах. Я немного опасаюсь наследования и добавления этого метода в свой унаследованный общий класс.