Ho diverse classi statiche nello spazio dei nomi mySolution.Macros
come
static class Indent{
public static void Run(){
// implementation
}
// other helper methods
}
Quindi la mia domanda è come sarà possibile chiamare quei metodi con l'aiuto della riflessione?
Se i metodi NON devono essere statici, potrei fare qualcosa del tipo:
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);
}
Mi piacerebbe mantenere le mie classi statiche. Come potrò fare qualcosa di simile con i metodi statici?
In breve, mi piacerebbe chiamare tutti i metodi Run da tutte le classi statiche che si trovano nello spazio dei nomi mySolution.Macros.
GetMethod
.