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