c# - eventos - Cómo agregar un evento a una clase
eventos en c# ejemplos (2)
Digamos que tengo una clase llamada Frog, parece que:
public class Frog
{
public int Location { get; set; }
public int JumpCount { get; set; }
public void OnJump()
{
JumpCount++;
}
}
Necesito ayuda con 2 cosas:
- Quiero crear un evento llamado Jump en la definición de la clase.
- Quiero crear una instancia de la clase Frog y luego crear otro método que se invocará cuando salte la rana.
@CQ: ¿Por qué creas una copia local pf Jump
? Además, puede guardar la prueba subsiguiente modificando ligeramente la declaración del evento:
public event EventHandler Jump = delegate { };
public void OnJump()
{
Jump(this, EventArgs.Empty);
}
public event EventHandler Jump;
public void OnJump()
{
EventHandler handler = Jump;
if (null != handler) handler(this, EventArgs.Empty);
}
entonces
Frog frog = new Frog();
frog.Jump += new EventHandler(yourMethod);
private void yourMethod(object s, EventArgs e)
{
Console.WriteLine("Frog has Jumped!");
}