Все рекомендуют мне проверить, чтобы объект был нулевым. Итак, IMO, это было бы наилучшей практикой, если бы я хотел использовать sender
(или d
) в методе.
private void OnSomethingHappened([CanBeNull]object sender, EventArgs e) {
if (!(sender is MyClass mc)) throw new ArgumentException();
mc.DoSomething();
}
EDIT:
Теперь я предпочитаю это:
private void OnSomethingHappened([CanBeNull]object sender, EventArgs e) {
var mc = sender as MyClass ?? throw new ArgumentException();
mc.DoSomething();
}