回到基础 - 对代表的语法糖有点困惑。这是我的情景:
我有一个委托,它接受零参数并返回void。本质上是一个零参数的Action委托。 下面的代码段(有目的地使用基本委托语法与Action Delegate用法)
class Program
{
public delegate void Del(); // Declare
static void Main(string[] args)
{
Del d = MethodCalled; //Instantiate
d(); //Invoke
Console.ReadLine();
}
public static void MethodCalled()
{
Console.WriteLine("Hello");
}
}
问题:如何将实例化和调用调用组合在一个句子中(对于没有返回的代理)类似于下面的情况(用例,其中我有一个来自委托的返回值:
//Instantiate & Invoke Delegate
string handler = MethodCalled("Hello");
请注意 - 这个问题不是如何使用匿名方法或Lamda表达式编写Action Delegate等效项。我知道即使在那里我仍然需要调用委托d()。 我的问题与如何组合2个语句(无论使用的语法如何 - 基本委托,行动委托)更为相关
答案 0 :(得分:4)
new SomeDelegate(SomeMethod)(SomeParameter);