2014-01-24 90 views
0

回到基礎 - 對代表的語法糖有點困惑。這是我的場景:委託實例化和調用語法

我有一個委託,它將零參數和返回void。實質上是一個帶有零參數的Action委託。我怎麼能結合實例化和調用呼叫一句話(對於沒有回報的代表)與下圖類似(用例:下面(故意使用基本的委託語法與動作代表使用)

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委託相當於這我知道,即使在那裏,我仍然有。要調用委託d()。 我的問題是更關係到如何合併報表2(無論所使用的語法 - 基本的委託,Action委託)

+0

爲什麼你想這樣做呢? – SLaks

+0

休閒褲 - 如上所述 - 這是一個更好奇的問題 - 如果我可以用返回類型做 - 當爲什麼沒有可用 - 至少我不知道 - 爲零值返回 – Patrick

回答

4
new SomeDelegate(SomeMethod)(SomeParameter); 
+1

或'new Del(MethodCalled) ();'在OP的例子中使用這些名字。 –