J'ai créé quelques fonctions simples dans VB.NET qui retournent simplement un contrôle d'un certain type que je connais déjà, comme HtmlInputHidden, Label, etc. Cela signifie que chaque des fonctions est créé uniquement pour ce but particulier.Fonction générique VB.NET pour retourner un contrôle
Ce que je voudrais faire est de combiner toutes ces fonctions en une seule fonction en utilisant des génériques. Les choses communes partagées par chacune des fonctions sont un Id de contrôle et un type de contrôle.
Ce que j'ai à ce jour est:
Public Function GetControl(Of T)(ByVal ctrlId As String) As T
Dim ctrl As Control = Me.FindControl(ctrlId)
If (Not ctrl Is Nothing) Then
GetControl = CType(ctrl, T)
Else
GetControl = Nothing
End If
End Function
Mais la ligne "GetControl = CType (ctrl, T)" me donne une erreur de compilation:
Value of type 'System.Web.UI.Control' cannot be converted to 'T'
Ceci est. NET Framework 2.0.
Toute idée est très appréciée.
John
C'est tout! Merci beaucoup pour la réponse rapide. – John
Pas de problème! Heureux que je pourrais aider –
Pourrait utiliser TypeOf et DirectCast pour éviter toute erreur. –