Pracowałem z klasą generyczną w vb.net.
Wygląda na to, że metody rozszerzenia nie można zastosować do klasy ogólnej bez określenia typu.Stosowanie metody Extension do ogólnej klasy o typie ogólnym
mam typowego klasa
Public Class MyGeneric(Of T)
'Methods and properties go here
'
'
End Class
Jest Ok
<Extension()> _
Public Sub DoSomething(ByVal myGenericDoubleObj As MyGen(Of Double))
End Sub
To nie jest ok (IDE daje mi błędu T jako niezdefiniowane.)
<Extension()> _
Public Sub DoSomethingGeneric(ByVal myGenericObj As MyGen(Of T))
End Sub
Czy to coś wspólnego ze statycznym sprawdzaniem .Net.
Mówiąc: "Coś, co możesz spróbować zrobić z Typem T, może nie być kompatybilne i nie pozwolę ci tego zrobić."
P.S. Cały ten ból, który wziąłem jako klasa ogólna, pochodzi z innej biblioteki i jest używany w wielu różnych miejscach. Nie boję się dziedziczenia i dodawania tej metody do mojej odziedziczonej klasy generycznej.
+ 1 dokładnie to, czego szukałem. –