Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/06/2012, 03:13
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: que significa esta Sintaxis

Con esa sintaxis estás creando una expresión lambda anónima.

En tu caso, se está creando una función anónima que recibe dos parámetros. Los tipos de los parámetros se infieren automáticamente al asignar la función anónima al evento Loaded o Unloaded. En el caso particular, s es de tipo object y e es de tipo EventsArgs.

Todas estas sentencias son equivalentes:

Código C#:
Ver original
  1. //Con delegado anónimo
  2. this.Loaded += new EventHandler(delegate(object s, EventArgs e) { DiscoverKinectSensor(); });
  3.  
  4. //Con delegado anónimo (forma corta)
  5. this.Loaded += delegate(object s, EventArgs e) { DiscoverKinectSensor(); };
  6.  
  7. //Lambda con parámetros explícitos
  8. this.Loaded += (object s, EventArgs e) => { DiscoverKinectSensor(); }
  9.  
  10. //Pasando una función
  11. this.Loaded += new EventHandler(example);
  12.  
  13.  
  14. private void example(object s, EventArgs e) {
  15. DiscoverKinectSensor();
  16.  }


Espero que te haya servido y saludos