Saya memiliki beberapa kelas statis di namespace mySolution.Macros
seperti
static class Indent{
public static void Run(){
// implementation
}
// other helper methods
}
Jadi pertanyaan saya adalah bagaimana mungkin memanggil metode-metode itu dengan bantuan refleksi?
Jika metode di mana TIDAK menjadi statis maka saya dapat melakukan sesuatu seperti:
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);
}
Saya ingin kelas saya tetap statis. Bagaimana saya dapat melakukan sesuatu yang serupa dengan metode statis?
Singkatnya saya ingin memanggil semua metode Run dari semua kelas statis yang ada di namespace mySolution.Macros.
GetMethod
.