0

我有拖车清单。一个具有用户选择的对象。第二个将包含将在第一个列表中的对象上使用的方法。

List 1 List2

Paul Method ShakeHand

Mark Method HighFive

Annie Method Hug

我将使用索引使列表 2 中的方法 0 使用列表 1 中的对象 0。他们将继续沿列表向下移动,直到采取每个操作。

我试过使用Add()里面的方法,但没有运气。我也没有运气使用谷歌,因为我不确定我应该使用什么术语。

4

3 回答 3

3

您可以通过插入一个对象来做到这一点——即一个类的实例。

Greet使用命名或类似方法创建基类。创建实现该Greet方法并执行ShakeHandHighFive或的子类Hug。插入适当子类的实例,然后Greet在需要时调用该方法。

于 2012-12-30T07:57:05.323 回答
2

使用Func<T1, T2, .., TReturn>Action<T1, ... Tn>代表。唯一的问题是方法需要具有相同的签名。

于 2012-12-30T07:58:23.410 回答
0

这对我来说听起来有点动态。我会使用反射,既用于使用可用方法填充选择列表,也用于调用——这将我们引向参数问题。所有提议的解决方案都假定所有要调用的方法都具有相同的签名。如果这是真的,那么这些建议中的任何一个都将起作用,我和 Dmitry 需要最少的维护才能添加方法。如果您有合适的框架版本,Dmitry 的版本会更好(但您仍然需要反思来填充您的选择列表)。

于 2012-12-30T10:09:52.873 回答