什麼是這樣做的意義......我應該創建一個新的委託實例嗎?
this.myButton.Click += new EventHandler(this.myButton_Clicked);
...這對?
this.myButton.Click += this.myButton_Clicked;
我懷疑編譯器在第二個例子中爲我創建了一個新的實例。我確信這是一個新手問題,但Google沒有提出任何問題。任何人都可以給我一些見解嗎?
什麼是這樣做的意義......我應該創建一個新的委託實例嗎?
this.myButton.Click += new EventHandler(this.myButton_Clicked);
...這對?
this.myButton.Click += this.myButton_Clicked;
我懷疑編譯器在第二個例子中爲我創建了一個新的實例。我確信這是一個新手問題,但Google沒有提出任何問題。任何人都可以給我一些見解嗎?
第二種語法是第一種在C#2.0中引入的快捷方式。
+1 - 每天學點新東西 – 2010-08-27 15:44:17
這是一篇很棒的文章。感謝分享! – 2010-08-27 15:51:43
偉大的鏈接,謝謝! – Scott 2010-08-27 16:32:44
是,第二個版本使編譯器創建一個隱含的代表,就像你可以指定this.MyMethod
而不是new Action(this.MyMethod)
或new Action(() => this.MyMethod())
。
好的問題是爲什麼Visual Studio IntelliSense,甚至是2010年,使用舊的語法?! – abatishchev 2011-01-13 11:12:15