У меня есть событие, которое в настоящее время определено без аргументов события. То есть EventArgs, которые он отправляет, является EventArgs.Empty.
В этом случае проще всего объявить мой обработчик событий как:
EventHandler<System.EventArgs> MyCustomEvent;
Я не планирую добавлять какие-либо аргументы события к этому событию, но возможно, что в будущем потребуется изменить любой код.
Поэтому я склоняюсь к тому, чтобы все мои события всегда создавали пустой тип аргументов событий, который inheretis из System.EventArgs
, даже если в данный момент нет нужных аргументов событий. Примерно так:
public class MyCustomEventArgs : EventArgs
{
}
И тогда мое определение события становится следующим:
EventHandler<MyCustomEventArgs> MyCustomEvent;
Итак, мой вопрос заключается в следующем: лучше ли определить мой собственный MyCustomEventArgs
, даже если он не добавляет ничего, кроме наследования от System.EventArgs
, чтобы аргументы события могли быть добавлены в будущем легче? Или лучше явно определить мое событие как возвращающее System.EventArgs
, чтобы пользователю было понятнее, что нет дополнительных аргументов события?
Я склоняюсь к созданию пользовательских аргументов событий для всех моих событий, даже если аргументы события пусты. Но мне было интересно, если бы другие подумали, что было бы лучше, если бы пользователю было понятнее, что аргументы события пусты,
Большое спасибо заранее,
Mike