Tengo un objeto con algunos métodos y quiero llamar a un método utilizando el nombre del método como solo cadena.¿Cómo llamar al método usando su nombre?
object obj;
obj.method();
Tengo un objeto con algunos métodos y quiero llamar a un método utilizando el nombre del método como solo cadena.¿Cómo llamar al método usando su nombre?
object obj;
obj.method();
Dado un método MethodName con la firma void MethodName(int num)
, se haría algo como:
MethodInfo method = obj.GetType().GetMethod("MethodName",
BindingFlags.Public|BindingFlags.Instance)
method.Invoke(obj, 4) // void method
Espero que esto ayude.
es un método vacío. – Amged
Además de la reflexión, es posible que también desee consultar la invocación dynamic; que es el envío atrasada (es decir, en tiempo de ejecución en lugar de en tiempo de compilación) de las invocaciones de métodos.
object obj;
var dyn = (dynamic) obj;
dyn.method();
Sí, pero el símbolo 'method' aún debe aparecer como un literal en el código. –
Sepa que usted sabe lo que quiere hacer. Pero tu pregunta es realmente confusa ... Intenta editar tu pregunta, por favor. –