Я помню, как несколько раз и во многих местах читал, что при запуске типичного события:
protected virtual OnSomethingHappened()
{
this.SomethingHappened(this, EventArgs.Empty);
}
e должен быть EventArgs.Empty, если нет интересных аргументов событий, а не null.
Я следил за инструкциями в своем коде, но я понял, что я не понимаю, почему это предпочтительный метод. Почему заявленный контракт предпочитает EventArgs.Empty over null?