我想在 C# 中创建一个委托(delegate)类型,用于创建匿名方法。
例如:
public void MyMethod(){
delegate int Sum(int a, int b);
Sum mySumImplementation=delegate (int a, int b) {return a+b;}
Console.WriteLine(mySumImplementation(1,1).ToString());
}
不幸的是,我无法使用 .NET 2.0 和 C# 2.0 来完成。
最佳答案
为什么要在方法内创建委托(delegate)类型?在方法之外声明它有什么问题?基本上,您不能这样做 - 您不能在方法中声明类型(任何类型)。
一种替代方法是声明 .NET 3.5 中存在的所有 Func/Action 通用委托(delegate) - 然后您可以这样做:
public void MyMethod(){
Func<int, int, int> mySumImplementation =
delegate (int a, int b) { return a+b; };
Console.WriteLine(mySumImplementation(1,1).ToString());
}
声明在我的 C#/.NET Versions page 上.
关于c# - 在方法中创建委托(delegate)类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/359320/