Invocar un método por su nombre en C# con Invoke

   Type thisType = this.GetType();

En el caso en que sea un método privado, agregar estos parametros:

   MethodInfo theMethod = thisType.GetMethod("nombre-del-metodo", BindingFlags.NonPublic | BindingFlags.Instance);

Si el método es público:

   MethodInfo theMethod = thisType.GetMethod("nombre-del-metodo");

Para ejecutarlo: (observar que param es el parametro que se le pasa al metodo:

   var msg = (TipoDeDatoQueDevuelveElMetodo)theMethod.Invoke(this, new[] { param });

Ej, si se llama a un actionresult:

   var msg = (TipoDeDatoQueDevuelveElMetodo)theMethod.Invoke(this, new[] { param });


No hay comentarios:

Publicar un comentario