Tôi có một số lớp tĩnh trong không gian tên mySolution.Macros
chẳng hạn như
static class Indent{
public static void Run(){
// implementation
}
// other helper methods
}
Vì vậy, câu hỏi của tôi là làm thế nào nó sẽ có thể gọi các phương pháp đó với sự trợ giúp của sự phản chiếu?
Nếu các phương thức KHÔNG phải là tĩnh thì tôi có thể làm điều gì đó như:
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);
}
Tôi muốn giữ cho các lớp học của mình tĩnh. Làm thế nào để tôi có thể làm điều gì đó tương tự với các phương thức tĩnh?
Tóm lại, tôi muốn gọi tất cả các phương thức Run từ tất cả các lớp tĩnh có trong không gian tên mySolution.Macros.
GetMethod
.