Actualmente estoy creando una biblioteca para divertirme y practicar y me preguntaba, al plantear un evento, cómo elegir entre pasar su propio derivativo de EventArgs o simplemente el tipo de datos.¿Debo usar EventArgs o un tipo de datos simple?
Por ejemplo, en mi biblioteca tengo algo como esto:
public delegate void LostConnectionEventHandler(string address);
public delegate void MessageReceieved(byte[] bytes);
Cuál es la práctica estándar para esto? ¿Debo reemplazar string address
con ConnectionEventArgs
y byte[] bytes
con MessageEventArgs
?
Sé que cualquiera de los dos funciona bien y esta pregunta puede ser subjetiva, pero todavía tengo curiosidad sobre el proceso de pensamiento que los programadores de mayor nivel tienen cuando deciden si incluir o no sus propios EventArgs o simplemente pasar los datos directamente .
Gracias!
bravo, exactamente la pieza de documentación que estaba buscando y olvidé incluir en mi respuesta ;-) –
Esto está desactualizado. La orientación actual es utilizar el tipo de delegado genérico EventHandler <>. –