2010-08-27 24 views
8

¿Cuáles son las implicaciones de hacer esto ...¿Debo crear una nueva instancia de delegado?

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

... frente a esto?

this.myButton.Click += this.myButton_Clicked; 

Sospecho que el compilador está creando una nueva instancia para mí en el segundo ejemplo. Estoy seguro de que esta es una pregunta un poco nueva, pero Google no apareció nada. ¿Alguien puede darme una idea?

+1

La buena pregunta es ¿por qué Visual Studio IntelliSense, incluso 2010, usa la sintaxis anterior? – abatishchev

Respuesta

1

Sí, la segunda versión hace que el compilador crea un delegado implícita, al igual que se puede especificar en lugar de this.MyMethodnew Action(this.MyMethod) o new Action(() => this.MyMethod()).

Cuestiones relacionadas