Básicamente, he visto este utiliza con demasiada frecuencia:¿Por qué asignar un controlador a un evento antes de llamarlo?
public event MyEventHandler MyEvent;
private void SomeFunction()
{
MyEventHandler handler = this.MyEvent;
if (handler != null)
{
handler(this, new MyEventArgs());
}
}
Cuando la misma facilidad podría hacerse así:
public event MyEventHandler MyEvent;
private void SomeFunction()
{
if (MyEvent != null)
{
MyEvent(this, new MyEventArgs());
}
}
Por lo tanto, me estoy perdiendo algo? ¿Hay alguna razón por la que las personas asignen el evento a un controlador y luego eleven el controlador en lugar del evento en sí? ¿Es solo una "mejor práctica"?