Using standard(similar) signature such as (sender, eventargs)
is beneficial because
- It's flexible and generic enough to server many scenarios. Acts as a standard template even for novices
- Similar signature increases the familiarity with the patterns, helps in reducing learning time for beginners
- Enables re-usability at both event delegate level as well as handler level.
Now, once you accept/agree some standards, you need to stick them (even though in certain cases, it may not make sense provided that there is no huge cost associated with). .NET Fx developers has decided on this standard event template and that what's you will see everywhere.
Let's take an example of Page_Load
- this event is actually declared at Control level. So its possible that some code may choose to handle multiple control's load event using the same event handler and use sender
argument to apply specific things.