委派实例化和调用语法

时间:2014-01-24 19:59:20

标签: c#

回到基础 - 对代表的语法糖有点困惑。这是我的情景:

我有一个委托,它接受零参数并返回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个语句(无论使用的语法如何 - 基本委托,行动委托)更为相关

1 个答案:

答案 0 :(得分:4)

new SomeDelegate(SomeMethod)(SomeParameter);