Tengo varias clases estáticas en el espacio de nombres mySolution.Macros
como
static class Indent{
public static void Run(){
// implementation
}
// other helper methods
}
Entonces, mi pregunta es ¿cómo será posible llamar a esos métodos con la ayuda de la reflexión?
Si los métodos NO fueran estáticos, entonces podría hacer algo como:
var macroClasses = Assembly.GetExecutingAssembly().GetTypes().Where( x => x.Namespace.ToUpper().Contains("MACRO") );
foreach (var tempClass in macroClasses)
{
var curInsance = Activator.CreateInstance(tempClass);
// I know have an instance of a macro and will be able to run it
// using reflection I will be able to run the method as:
curInsance.GetType().GetMethod("Run").Invoke(curInsance, null);
}
Me gustaría mantener mis clases estáticas. ¿Cómo podré hacer algo similar con métodos estáticos?
En resumen, me gustaría llamar a todos los métodos Run de todas las clases estáticas que están en el espacio de nombres mySolution.Macros.
GetMethod
.