Quello che voglio fare è, in base al tipo di T, fare diverse opperazioni. Di seguito è riportato un semplice esempio del mio problema.VB.NET Funzione generica
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
ottengo il "valore di tipo 'String' non può essere convertito a 'T'" Errore Lo stesso vale per la parte intera. Se lancio o su un oggetto prima di assegnarlo a retval, funziona, ma penso che sarebbe in grado di sconfiggere il mio scopo ed essere meno efficiente. Qualche idea? Grazie!
Vero, ma è ancora possibile. Tutto ciò che è necessario è che la funzione "cast" restituisca un tipo generico. Il segreto è lanciarlo per oggetto prima, e poi ricominciare. Vedi la mia risposta qui sotto. Fondamentalmente T retval = CType (CType (YourGenericVariable, Object), T) –