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 メソッドを呼び出したいと思います。