avril
2007
Dans un post précédent, je comparais l’implémentation des interfaces en VB et C#. Je suis tombé sur un problème spécifique au VB aujourd’hui :
J’étais dans le cas d’une classe qui a décidé d’implémenter les propriétés d’une interface qu’elle implémente en leur donnant d’autres noms.
Ex :
Property Prop() As String
End Interface
Class Test
Public Property P() As String Implements ITest.Prop
[...]
End Property
End Class
J’avais une méthode générique
[...]
End Sub
Dans mon cas, cette méthode est utiliser avec T = Test et IT = ITest.
Je voulais faire le lien par réflexion entre P et Prop.
Je dois reconnaître que j’ai passé un petit moment à chercher et j’ai finit par trouver :
il faut passer par
GetType(T).GetInterfaceMap(GetType(IT))
Je n’avais jamais vu cette méthode très simple à utiliser et très pratique (voire incontournable) dans certains cas. Je dis « voire incontournable » car je ne sais pas comment j’aurais pu faire autrement. Si vous avez des suggestions, n’hésitez surtout pas.