我有一个带有方法签名的类(MethodsClass):
public double Method()
DataGrid
ComboBoxColumn
。 ComboBox具有MethodsClass的所有方法的名称。
在运行时,我需要调用从ComboBox中选择的方法。我反思不是很好,我知道它很慢。我可以使用普通初始化
创建MethodsClass的实例var mClass = new MethodsClass();
然后使用ComboBox中的字符串以某种方式调用我需要的方法。如果不是 - 实施任务的最佳方式是什么。
答案 0 :(得分:2)
您应该创建一个Dictionary<string, Action<...>>
包含要为每个字符串值执行的委托(方法名称或lambda表达式)。
这比反射快得多,并且还允许您从方法签名中分离字符串值和参数。