Lo que quiero hacer es, en función del tipo de T hacer diferentes operaciones. A continuación se muestra un ejemplo simple de mi problema.VB.NET Función genérica
Public Shared Function Example(Of T)() As T
Dim retval As T
If TypeOf retval Is String Then
Dim myString As String = "Hello"
retval = myString
ElseIf TypeOf retval Is Integer Then
Dim myInt As Integer = 101
retval = myInt
End If
Return retval
End Function
me sale el error "valor de tipo 'cadena' no se puede convertir a 'T'" Lo mismo pasa con la parte entera. Si lanzo a un objeto antes de asignarlos a retval funciona, pero creo que eso vencería mi propósito y sería menos eficiente. ¿Algunas ideas? ¡Gracias!
Es cierto, pero aún es posible. Todo lo que es necesario es que la función 'moldear' devuelva un tipo genérico. El secreto es arrojarlo para objetar primero, y luego devolverlo. Ver mi respuesta a continuación. Básicamente T retval = CType (CType (YourGenericVariable, Object), T) –