clase ArgumentosEventoXX derivada_de EventArgs publicos: el objeto generado es una cantidad el objeto Id es un caracter mensajes: ArgumentosEventoXX Console.WriteLine("paso1") /*********************************************************/ clase ObjetoConEvento privados el objeto Identificación es un Caracter publicos los objetos limInf, limSup, vez, número son cantidades el objeto XX es un Evento el objeto chisme es un ArgumentosEventoXX mensajes ObjetoConEvento(deme nombre es un Caracter) { copie nombre en Identificación entre limInf, limSup } generar { Console.WriteLine("paso2") el objeto azar es un Random variando vez desde 1 hasta 1000 haga { copie azar.Next(0, 100) en número es número >= limInf & número <= limSup ? si: { Console.WriteLine("paso3") copie Identificación en chisme.Id copie número en chisme.generado Console.WriteLine("paso4") /***********************************************************/ /*****/ ObjetoConEvento.publicar(XX, chisme) /*****/ /***********************************************************/ Console.WriteLine("paso5") } } } /*********************************************************/ /*********************************************************/ clase v derivada_de Form publicos el objeto obj1 es un ObjetoConEvento("Pepe") el objeto obj2 es un ObjetoConEvento("Lola") el objeto obj3 es un ObjetoConEvento("Lupe") mensajes v { Console.WriteLine("paso6") v.Manejador(obj1.XX, avíseme) Console.WriteLine("paso7") v.Manejador(obj2.XX, avíseme) v.Manejador(obj3.XX, avíseme) obj1.generar obj2.generar obj3.generar copie ";-)" en v.Text } avíseme(deme nc, deme datos es un EventArgs) { el objeto recibido es un ArgumentosEventoXX copie datos en recibido Console.WriteLine(recibido.Id # " envió " # recibido.generado) }