que programacion polimorfismo polimorfico niveles herencia form clase acceso abstracta c# .net event-handling eventargs

programacion - que es override en c#



Por qué no usar una clase personalizada en lugar de heredar la clase EventArgs (3)

Me pregunto por qué debería usar una clase que herede de la clase EventArgs lugar de usar una clase personalizada que me haga el mismo trabajo cuando paso los datos del evento.


No tiene que heredar de EventArgs , pero le permite a las personas que usan sus clases usar y manejar las declaraciones genéricas *Handler(object sender, EventArgs e) . Si no heredas de EventArgs , entonces tienen que usar explícitamente tipeado

*Handler(object sender, YairsFakeEventArgs e)

Lo mismo ocurre con el uso de delegados personalizados, pero son mucho más explícitamente diferentes.


Porque esa es la forma estándar y más idiomática de hacer esto en .NET. Todo el modelo de eventos ASP.NET y WinForms se basa en esas convenciones. Si otro desarrollador lee su código, lo entenderá más fácilmente ya que este es el estándar. Dicho esto, por supuesto puedes usar cualquier clase que desees.


Porque su clase event-args será compatible con cualquier otra función que acepte un objeto EventArgs .