Чтение официальных руководств по публикации событий в .NET гласит:
Хотя события в определяемых вами классах могут основываться на любом допустимом типе делегата, даже если делегаты возвращают значение, обычно рекомендуется основывать свои события на шаблоне .NET Framework с помощью EventHandler, как показано в следующем примере.
В документации также упоминается, что .NET Framework 2.0 представляет общую версию этого делегата, EventHandler.
Затем будет показан пример с использованием EventHandler
, но также и пример с использованием пользовательского типа делегата.
Учитывая, что пользовательский шаблон делегата выглядит не слишком обескураженным (у него даже есть официальный пример), выгодно ли создавать наши пользовательские делегаты вместо создания подкласса EventArgs
и использования EventHandler<CustomEventArgs>
?