我有一个类需要在构造器中传递不同数量的Func委托。这些代表中的每一个都将指向一个不同的函数,每个函数具有不同的返回类型,并且具有不同数量的参数(类型为double)。这些函数中的每一个都将被相应地调用。具有不同返回类型和参数数量的Func委托的列表
问题1.现在,为了让那些使用这个类的人变得更容易,我想让用户通过Func委托人的List<object>
。这是否可能,并且如果是的话,我能够确定返回类型和每个Func所需的参数数量,方法是将List<object>
传递给(即构造函数)的方法?
问题2.如果上述不可行,我是否需要用每种不同的返回类型/参数数量的不同组合来重载构造函数,并相应地路由每个Func -_-如果没有人可以指向我正确的方向,我觉得我在错误的方式处理这个...
注 - 从蟒蛇背景的,我会做这样的事情(我在C#中缺乏经验):
import inspect
def test(x): return x
inspect.getargspec(test)
returns: ArgSpec(args=['x'], varargs=None, keywords=None, defaults=None)
非常感谢
你的设计将很多funcs传递给一个类是不寻常的。您是否考虑过为每个想要通过的func定义一个虚拟方法的类,并让用户重写这些方法? – dtb 2013-03-23 21:14:14
您:_am我能够确定每个Func_所需的参数的返回类型和数量。因为所有'Func'类型都是从'System.Delegate'派生的,所以您可以使用'List'来代替使用'List
Jeppe非常感谢 – Sherlock 2013-03-23 22:40:56