从字符串调用条件方法

时间:2012-04-11 20:42:52

标签: c# methods runtime

我有一个带有方法签名的类(MethodsClass):

public double Method()

DataGrid ComboBoxColumn。 ComboBox具有MethodsClass的所有方法的名称。

在运行时,我需要调用从ComboBox中选择的方法。我反思不是很好,我知道它很慢。我可以使用普通初始化

创建MethodsClass的实例
var mClass = new MethodsClass();

然后使用ComboBox中的字符串以某种方式调用我需要的方法。如果不是 - 实施任务的最佳方式是什么。

1 个答案:

答案 0 :(得分:2)

您应该创建一个Dictionary<string, Action<...>>包含要为每个字符串值执行的委托(方法名称或lambda表达式)。

这比反射快得多,并且还允许您从方法签名中分离字符串值和参数。