Recuerdo haber leído, en múltiples ocasiones y en varias ubicaciones, que cuando se dispare el evento típico:¿Por qué utilizar EventArgs.Empty en lugar de null?
protected virtual OnSomethingHappened()
{
this.SomethingHappened(this, EventArgs.Empty);
}
electrónico debe ser EventArgs.Empty si no hay argumentos de eventos interesantes, no nulos.
He seguido las instrucciones en mi código, pero me di cuenta de que no tengo claro por qué esa es la técnica preferida.
- ¿Por qué el contrato establecido prefiere EventArgs.Empty over null?
- ¿Qué tipo de situaciones en mi propio código justificaría un diseño similar decisión? ¿Cuándo debería considerar crear alguna propiedad estática "Nothing interesting here" en lugar de usando null para indicar la ausencia de algo interesante?
- ¿La adición de tipos de valores con valores nulos ha impactado estas decisiones?
¡Excelente pregunta! –
Gracias. :) Me acabo de dar cuenta de que he estado haciendo programación de culto a cargo de esta manera particular durante años, ahora quiero saber por qué. :) –