I tienen una MethodInfo
de un método interfaz y Type
de una claseque implementa la interfaz. Quiero encontrar el MethodInfo
del método de clase que implementa el método de interfaz.¿Cómo obtener MethodInfo del método de interfaz, teniendo implementación MethodInfo of class method?
El simple method.GetBaseDefinition()
no funciona con los métodos de interfaz. La búsqueda por nombre tampoco funcionará, porque al implementar el método de interfaz explícitamente puede tener cualquier nombre (sí, no en C#).
¿Cuál es la forma correcta de hacerlo que cubre todas las posibilidades?
No puede coincidir con el nombre. Los nombres no tienen que coincidir. Es una regla de C#, otros idiomas (VB) le permiten nombrar métodos de anulación como prefiera. –
Mi ejemplo anterior no coincide con el nombre, está haciendo coincidir el método Equals en MethodInfo. Solo quería decir que necesitaría volver a verificar que MethodInfo.Equals aún considere dos instancias iguales si varían solo por su nombre. –
Bien, lo siento, pero su código todavía no está haciendo lo que necesito. No me dará información sobre el método de la clase, me dará información sobre el método de la interfaz. Simplemente afirmas que la clase implementa la interfaz. –