Подтвердить что ты не робот

Почему не использовать собственный класс вместо наследования класса EventArgs

Мне интересно, почему я должен использовать класс, который наследуется от класса EventArgs вместо использования специального класса, который будет выполнять ту же работу для меня при передаче данных события?

4b9b3361

Ответ 1

Вам не нужно наследовать от EventArgs, но это позволяет людям, использующим ваши классы, использовать и обрабатывать общие объявления *Handler(object sender, EventArgs e). Если вы не наследуете от EventArgs, тогда они должны использовать явно напечатанные

*Handler(object sender, YairsFakeEventArgs e)

То же самое касается только пользовательских делегатов, но они намного более явно различаются.

Ответ 2

Поскольку ваш класс event-args будет совместим с любой другой функцией, которая принимает объект EventArgs.

Ответ 3

Потому что это будет стандартный и самый идиоматический способ сделать это в .NET. Все модели событий ASP.NET и WinForms основываются на этих соглашениях. Если другой разработчик прочитает ваш код, он будет более легко понимать его, поскольку это стандарт. При этом вы, конечно, можете использовать любой класс, который вам нравится.