我想使用一个小修改的字典>。func<>可以采用1个或更多类型的double参数。
我本来想做这样的事情
Dictionary<string, Func<params double, double>>
基本上我希望能够调用看起来像这样的函数。
double Function1(double value);
double Function2(double value1, double value2);
double Function3(double value1, double value2, double value3);
谢谢
params-keyword仅在调用函数时才是句法糖。基本上参数是值的数组:
public double MyFunc(params double[] values) { // code has to handle a array of double values... }
因此,您只需要将字典定义为
Dictionary<string, Func<double[], double>>
如果您仍然想拥有此句法糖,则应定义一些包装器功能或扩展功能来调用该方法,例如
public double Call(string key, params double[] values)
{
return dic[key](values);
}