1

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

public double Method()

和一个DataGridComboBoxColumn。ComboBox 具有 MethodsClass 的所有方法的名称。

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

var mClass = new MethodsClass();

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

4

1 回答 1

2

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

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

于 2012-04-11T20:50:25.417 回答