淘先锋技术网

首页 1 2 3 4 5 6 7

我有几个静态类在命名空间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.Macros的所有静态类中调用所有的Run方法。