yo no haría esto.
Existen dos motivos para esto. En primer lugar, es estándar simplemente verificar el controlador para null
antes de llamar a esto. Ve esto por todos lados, en ejemplos, en la fuente de referencia de Microsoft y in the manuals.
En segundo lugar, la inicialización de sus eventos de esta manera asigna objetos innecesarios al crear su clase. Esto pondrá presión de memoria adicional en su aplicación sin una necesidad real. Esto se debe a:
public event EventHandler<LoadEventArgs> LoadedData = delegate { };
se traduce en:
public event EventHandler<LoadEventArgs> LoadedData = new EventHandler<LoadEventArgs>delegate { });
Si no lo hace ya, envolviendo sus eventos en los métodos específicos ayuda mucho:
public event EventHandler MyEvent;
protected virtual void OnMyEvent(EventArgs e)
{
if (MyEvent != null)
MyEvent(this, e);
}
Usted puede hacer este hilo es seguro (r) usando lo siguiente:
public event EventHandler MyEvent;
protected virtual void OnMyEvent(EventArgs e)
{
var handler = MyEvent;
if (handler != null)
handler(this, e);
}
No todo el mundo está muy contento con esto, para más detalles, consulte aquí: http://stackoverflow.com/questions/9033/hidden-features-of-c/9282#9282 – gjvdkamp