using System; namespace Recetas.Ch01 { public class FuncionesAnonimas { /* * Instancia estática de EventHandler que será usada para el * registro de eventos. */ public static EventHandler MiEvento; /* * Método de prueba para métodos denominados y delegados anónimos. */ public static void MetodoManejoEvento(object sender, EventArgs args) { Console.WriteLine("Ejecución del método MetodoManejoEvento."); } /* * Punto de entrada a la aplicación */ public static void Main() { // C# 1.0: Uso de métodos denominados por el delegado MiEvento += new EventHandler(MetodoManejoEvento); // C# 2.0: Uso de delegados anónimos para el registro del evento MiEvento += new EventHandler(delegate(object sender, EventArgs eventArgs) { Console.WriteLine("Llamada al delegado anónimo."); }); // C# 3.0: Uso de expresiones lambda para el evento MiEvento += new EventHandler((sender, eventArgs) => { Console.WriteLine("Llamada a la expresión lambda."); }); Console.WriteLine("Invocación del evento: "); MiEvento.Invoke(new object(), new EventArgs()); Console.ReadLine(); } } }