Imagínese tipo como éste (C#):¿Cómo obtener el método genérico en el tipo genérico cerrado, teniendo MethodInfo abierto del tipo genérico abierto?
public interface IAmGeneric<T>
{
void SoAmI<T1>(T one, T1 two);
}
Dado que tengo abierta genérica MethodInfo
de la versión genérica abierta del tipo (IAmGeneric<>.SoAmI<>()
) y la siguiente matriz
new[] { typeof(int), typeof(string) }'
Busco bien realizar y fiable manera de conseguir la versión cerrada de la MethodInfo
así:
IAmGeneric<int>.SoAmI<string>()
ACTUALIZACIÓN:
por fiable quiero decir que debe manejar los casos en que el método no es pública, tiene docenas de sobrecargas, utiliza argumentos genéricos de tipo base, no sólo su interfaz inmediata etc.
Si ya tiene un 'MethodInfo' desde la interfaz, ¿por qué te preocupas por las sobrecargas y los argumentos genéricos de tipo base? La solución de @DarrenKopp es todo lo que necesitas. –