У меня есть несколько статических классов в пространстве имен, mySolution.Macros
таких как
static class Indent{
public static void Run(){
// implementation
}
// other helper methods
}
Итак, мой вопрос: как можно будет вызывать эти методы с помощью отражения?
Если методы НЕ должны быть статическими, я мог бы сделать что-то вроде:
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);
}
Я хочу, чтобы мои классы оставались статичными. Как я смогу сделать что-то подобное со статическими методами?
Короче говоря, я хотел бы вызвать все методы Run из всех статических классов, которые находятся в пространстве имен mySolution.Macros.
GetMethod
.