Quisiera saber cual es la diferencia entre un evento y un delegado.e
estudiado ambos, pero aun no puedo esclarecer el proposito de la instruccion
event, pongo como ejemplo el siguiente codigo. En el cree un evento que se
lanza cuando aumento la edad y un delegado que se lanza en la misma
situacion.si el metodo que hubiera asociado a ambos fuera el
mismo no habria causal para utilizar eventque alguen me
ayude porfavor a entender esto!!!!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace gen
{
class Program
{
static void Main(string[] args)
{
loco makol = new loco("Michael", "Soza", 23);
makol.mehagoviejo += new EventHandler(makol.makol_mehagoviejo);
makol.saludo += new loco.Saludar(MostrarEdad);
makol.Edad++;
makol.Edad++;
makol.Edad++;
Console.ReadLine();
}
static public void MostrarEdad(int algo)
{
Console.WriteLine("Tengo {0}",algo);
}
}
class loco
{
string nombre, apellido;
public event EventHandler mehagoviejo;
public delegate void Saludar(int algo);
public Saludar saludo;
int edad;
public loco(string nom, string app, int ed)
{
nombre = nom;
apellido = app;
edad = ed;
}
public string Nombre {
get { return nombre; }
set { nombre = value; }
}
public string Apellido
{
get { return apellido; }
set { apellido = value; }
}
public int Edad
{
get { return edad; }
set {
if (value>edad)
{
mehagoviejo(this, EventArgs.Empty);
saludo(this.edad);
}
edad = value; }
}
public void makol_mehagoviejo(object sender, EventArgs e) {
Console.WriteLine("me hago mas viejo");
}
}
}
Leer las respuestas