C#;在不单独声明方法的情况下创建一个新委托(delegate)?

标签 c# syntax delegates

我能够编译包含以下内容的代码:

OperationDelegate myOpDelegate;
static OperatorDefinition[] definitions ={
                new OperatorDefinition("+",2,3,true, new OperationDelegate(OperationAdd)),
            };
delegate double OperationDelegate(double[] args);
static double OperationAdd(double[] args)
            {
                return args[0] + args[1];
            }

但我认为如果我能做更多像这样的事情,我的代码会看起来更干净:

OperationDelegate myOpDelegate;
static OperatorDefinition[] definitions ={new OperatorDefinition("+",2,3,true, new OperationDelegate({return args[0]+args[1]}))};
delegate double OperationDelegate(double[] args);

因为我想在一个地方定义每个 OperatorDefinition 的所有内容,而不是单独定义函数。在 C# 中有什么方法可以做到这一点吗?

(也欢迎对我的代码提出任何其他批评)

最佳答案

查看匿名方法...例如:C# - Anonymous delegate

关于C#;在不单独声明方法的情况下创建一个新委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3972209/

相关文章:

C# 调用 native C++ 所有函数 : what types to use?

c# - 混合预计算和延迟加载

c++ - 冒号是什么意思(:) operator in "uint isWidget : 1;" in Qt?

perl 将单个变量封装在双引号中

c++ - 数字常量 long int 和 long double 的后缀怎么可能都是 l/L?

iphone - 高效使用 Interface Builder

ios - 无法在 Swift 的 UITextFieldDelegate 类初始值设定项中使用 TextField

c# - 拆分一个大的 winform 类

c# - 如何序列化委托(delegate)

c# - Visual FoxPro 9 C# OleDbAdapter 插入 - 功能不可用