Лично мне нравится идея получения от EventArgs
,
если вам нужно передать информацию о состоянии и объединить объекты, вы можете легко это сделать, см.
MouseEventArgs типа, например.
используя подход ООП, если у вас есть событие / конструкция, которая принимает объект типа EventArgs
, вы можете положиться на тот факт, что каждый производный от него объект будет работать таким же образом, в то время как у вас есть объект другого типа, который не разделяет один и тот же базовый класс, вы можете со временем что-то сломать.
трудно доказать и воспроизвести, но возможно в зависимости от дизайна, потому что события - это специальные делегаты, предназначенные для работы с EventArgs
и его потомками