【问题标题】:Use params with Func<>将参数与 Func<> 一起使用
【发布时间】:2019-05-17 06:18:13
【问题描述】:

我想使用 Dictionary> 稍作修改。其中 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);

谢谢

【问题讨论】:

标签: c# asp.net .net .net-core


【解决方案1】:

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);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    • 2016-09-13
    • 1970-01-01
    • 2022-11-14
    • 2020-05-29
    • 1970-01-01
    • 2019-05-05
    相关资源
    最近更新 更多