J'ai un MethodInfo
d'une méthode d'interface et Type
d'une classe qui implémente l'interface . Je veux trouver le MethodInfo
de la méthode de classe qui implémente la méthode d'interface. Le method.GetBaseDefinition()
simple ne fonctionne pas avec les méthodes d'interface. La recherche par nom ne fonctionnera pas non plus, car lors de l'implémentation explicite de la méthode d'interface, elle peut avoir n'importe quel nom (oui, pas en C#).Comment obtenir MethodInfo de méthode d'interface, ayant implémentant MethodInfo de méthode de classe?
Alors, quelle est la correcte façon de faire cela qui couvre toutes les possibilités?
Vous ne pouvez pas faire correspondre par nom. Les noms ne doivent pas correspondre. C'est une règle C#, d'autres langages (VB) vous permettent de nommer les méthodes de remplacement comme bon vous semble. –
Mon exemple ci-dessus ne correspond pas par nom, il correspond à la méthode Equals sur MethodInfo. Je pensais juste que vous auriez besoin de vérifier que MethodInfo.Equals considère toujours deux instances égales si elles ne varient que par le nom. –
Bien, désolé, mais votre code ne fait toujours pas ce dont j'ai besoin. Il ne me donnera pas d'informations sur la méthode de la classe - cela me donnera des informations sur la méthode de l'interface. Vous affirmez simplement que la classe implémente l'interface. –