2010-08-27 14 views
8

Quali sono le implicazioni di fare questo ...Devo creare una nuova istanza di delega?

this.myButton.Click += new EventHandler(this.myButton_Clicked); 

... rispetto a questo?

this.myButton.Click += this.myButton_Clicked; 

Ho il sospetto che il compilatore è la creazione di una nuova istanza per me nel secondo esempio. Sono sicuro che questa è una piccola domanda per principianti, ma Google non ha rivelato nulla. Qualcuno può darmi qualche intuizione?

+1

Una buona domanda è: perché Visual Studio IntelliSense, anche nel 2010, utilizza la vecchia sintassi ?! – abatishchev

risposta

1

Sì, la seconda versione rende il compilatore crea un delegato implicita, proprio come è possibile specificare this.MyMethod invece di new Action(this.MyMethod) o new Action(() => this.MyMethod()).

Problemi correlati