最佳答案
我在名称空间 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);
}
我想保持我的类是静态的。我怎样才能用静态方法做类似的事情呢?
简而言之, 我想从名称空间 mySolution 中的所有静态类中调用所有 Run 方法。马克罗斯。