如何使用lambda函数制作字典,即Func<>包含不同数量的参数?
Dictionary<string, Func<T, double>> operationsList
= new Dictionary<string, Func<T, double>>();
桅杆如此?
答案 0 :(得分:1)
您可以将字典设为Delegate
,但我非常确定以这种方式存储Func<>
会很痛苦:
var dict = new Dictionary<int, Delegate>();
dict.Add(1, (Func<int, int>)((int x) => x * 10));
dict.Add(2, (Func<int>)(() => 10));
通话:
var result1 = dict[1].DynamicInvoke(10);
var result2 = dict[2].DynamicInvoke();