我有两个清单。一个具有用户选择的对象。第二个将包含将在第一个列表中的对象上使用的方法。
List 1
List2
Paul
Method ShakeHand
Mark
Method HighFive
Annie
Method Hug
我会使用索引来使列表2中的方法0使用列表1中的对象0。 他们将继续列入清单,直至采取每一项行动。
我尝试使用Add()
内部方法,但没有运气。
我也没有运气谷歌,因为我不确定我应该使用什么术语。
答案 0 :(得分:3)
您可以通过插入对象(即类的实例)来完成此操作。
使用名为Greet
或类似方法的方法创建基类。创建实现Greet
方法的子类,并执行ShakeHand
,HighFive
或Hug
。插入适当子类的实例,然后在需要时调用Greet
方法。
答案 1 :(得分:2)
使用Func<T1, T2, .., TReturn>
或Action<T1, ... Tn>
代表。唯一的问题是方法需要具有相同的签名。
答案 2 :(得分:0)
这对我来说听起来有点动态。我使用反射,用于使用可用方法填充选择列表,以及用于调用 - 这引出了我们的参数问题。所有提出的解决方案都假设所有要调用的方法都具有相同的签名。如果这是真的,那么这些建议中的任何一个都会起作用,我和Dmitry需要最少的维护来添加方法。如果您有合适的框架版本,Dmitry的版本会更好(但您仍然需要反射来填充您的选择列表)。