J'ai plusieurs classes statiques dans l'espace de noms mySolution.Macros
telles que
static class Indent{
public static void Run(){
// implementation
}
// other helper methods
}
Ma question est donc de savoir comment il sera possible d'appeler ces méthodes à l'aide de la réflexion?
Si les méthodes ne sont PAS statiques, je pourrais faire quelque chose comme:
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);
}
J'aimerai garder mes classes statiques. Comment pourrai-je faire quelque chose de similaire avec des méthodes statiques?
En bref, j'aimerais appeler toutes les méthodes Run de toutes les classes statiques qui se trouvent dans l'espace de noms mySolution.Macros.
GetMethod
.