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

187
12

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

спросил(а) 2020-04-04T00:20:25+03:00 6 месяцев, 2 недели назад
1
Решение
216

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


*Handler(object sender, YairsFakeEventArgs e)

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

ответил(а) 2020-04-04T00:36:33.569763+03:00 6 месяцев, 2 недели назад
175

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

ответил(а) 2020-04-04T00:20:25+03:00 6 месяцев, 2 недели назад
108

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

ответил(а) 2020-04-04T00:20:25+03:00 6 месяцев, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема