2013-06-18 12 views
5

In C#, quando si registra un gestore di eventi, si hanno due opzioni (btn è di tipo System.Windows.Controls.Button):Qual è la differenza tra "btn.Click + = new RoutedEventHandler (ButtonClick)" e "btn.Click + = ButtonClick"?

btn.Click += new RoutedEventHandler (ButtonClick) e

btn.Click += ButtonClick.

Qual è la differenza semantica tra loro e le loro implicazioni?

+1

(Il duplicato è per un tipo diverso, ma è la stessa domanda di base.) –

+0

In effetti, non ho trovato queste domande precedenti con le mie parole chiave. Grazie per avermelo fatto notare - l'ho segnalato come duplicato. –

risposta

3

Come ho capito, niente, il compilatore dedurrà il tipo di delegato e lo avvolgerà automaticamente, è solo un modo stenografico per farlo (perché chi vuole davvero scriverlo tutto).

+0

fondamentalmente, da quello che ho appena rosso, la sintassi con la nuova parola chiave funziona per il framework 1.1, senza di essa, fornirà l'errore del compilatore, ecco perché è quello predefinito in intellisense. – simsim

+0

Sì, ricordo, per questo tendo a fare sempre la lunga strada. – Lloyd

1

Non ci sono differenze. Per comprendere queste funzionalità di C#, è necessario leggere la parola chiave C# delegato e evento.

Problemi correlati