Chame o método estático com reflexão

Eu tenho várias classes estáticas no namespacemySolution.Macros tal como

static class Indent{    
     public static void Run(){
         // implementation
     }
     // other helper methods
}

Então, minha pergunta é como será possível chamar esses métodos com a ajuda da reflexão?

Se os métodos onde NÃO é estático, então eu poderia fazer 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);
}

Eu gostaria de manter minhas aulas estáticas. Como poderei fazer algo semelhante com métodos estáticos?

Em resumo Eu gostaria de chamar todos os métodos Run de todas as classes estáticas que estão no namespace mySolution.Macros.

questionAnswers(3)

yourAnswerToTheQuestion