usando una tipo ser referencia poo parametrizada objeto generico genericas generica debe cuando crear colecciones clases clase .net vb.net generics static-typing

.net - una - el tipo t debe ser un tipo de referencia



Aplicando el método de extensión a la clase genérica con tipo genérico (1)

Estaba trabajando con la clase genérica en vb.net.
Y parece que el método de extensión no se puede aplicar a la clase genérica sin especificar el tipo.

Tengo esta clase genérica

Public Class MyGeneric(Of T) ''Methods and properties go here '' '' End Class

Esto esta bien

<Extension()> _ Public Sub DoSomething(ByVal myGenericDoubleObj As MyGen(Of Double)) End Sub

Esto NO es correcto (IDE me da el error T como no definido).

<Extension()> _ Public Sub DoSomethingGeneric(ByVal myGenericObj As MyGen(Of T)) End Sub

¿Tiene esto algo que ver con la comprobación estática de .Net?
Diciéndome "Algo que puedes intentar haciendo con Type T puede no ser compatible y no te permitiré hacerlo".

PD: todo este dolor que he tomado como clase genérica proviene de otra biblioteca, y se usa en muchos lugares diferentes. Tengo poco cuidado de heredar y agregar este método en mi clase genérica heredada.


Si convierte su método de extensión en un método genérico, debería funcionar

es decir, DoSomething (Of T) () instread de solo DoSomething ()

<Extension()> _ Public Sub DoSomething(Of T)(ByVal myGenericObj As MyGeneric(Of T)) End Sub

Espero que esto ayude