c# - 将参数与 Func<> 一起使用

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

我想用一个小修改的词典>。其中 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/

相关文章:

c# - ZipArchive 给出数据损坏错误的意外结束

c# - .NET - 为什么 C# 中没有定点数字数据类型?

c# - .NET中如何使用反射判断和检查程序集中的类型是Custom类型还是Primitive类型?

c# - Entity Framework 6.1.0 SaveChangesAsync

c# - 存储过程返回许多记录,但 DataReader 只看到一个

c# - 如何使用 aspose.cell 将一个工作表复制到工作簿中的另一个工作表

c# - 在运行时创建一组两个 Div

Javascript 和 ASP MVC - 刷新图像

C# WPF 将本地化文本绑定(bind)到元素

c# - 调整 tiff 大小并保持透明度和 c#