我有一個類需要在構造器中傳遞不同數量的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