我想用一个小修改的词典>。其中 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-关键字只是调用函数时的语法糖。基本上,参数是一个值数组:
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);
}
关于c# - 将参数与 Func<> 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56180626/