Ce que je veux faire est, basé sur le type de T faire différentes opperations. Voici un exemple simple de mon problème.Fonction générique VB.NET
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
Je reçois l'erreur « Valeur de type « String » Ne peut pas être converti en« T » Même avec la partie entière. Si je jette un objet à un objet avant de l'affecter à la révocation, cela fonctionne mais je pense que cela irait à l'encontre de mon but et serait moins efficace. Des idées? Merci!
Vrai, mais c'est toujours possible. Tout ce qui est nécessaire est que la fonction 'cast' retourne un type générique. Le secret consiste à le projeter en premier, puis à le rejeter. Voir ma réponse ci-dessous. Fondamentalement T retval = CType (CType (YourGenericVariable, Object), T) –