Ich habe mehrere statische Klassen im Namespace mySolution.Macros
wie
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 so etwas 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 möchte meine Klassen statisch halten. Wie kann ich mit statischen Methoden etwas Ähnliches tun?
Kurz gesagt, ich möchte alle Run-Methoden aus allen statischen Klassen aufrufen, die sich im Namespace mySolution.Macros befinden.
GetMethod
.