Rufen Sie die statische Methode mit Reflektion auf

Ich habe mehrere statische Klassen im NamespacemySolution.Macros sowie

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

Meine Frage ist also, wie es möglich sein wird, diese Methoden mit Hilfe der Reflexion aufzurufen.

Wenn die Methoden NICHT statisch sein sollten, könnte ich Folgendes tun:

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);
}

Ich werde meine Klassen gerne statisch halten. Wie kann ich mit statischen Methoden etwas Ähnliches tun?

Zusamenfassend Ich möchte alle Run-Methoden aller statischen Klassen aufrufen, die sich im Namespace mySolution.Macros befinden.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage