C# EventHandler Вопрос
Быстрый вопрос относительно EventHandlers в C#, скажем, у нас есть следующий код:
MyObject.MyEventHandler += (...)
В настоящее время я выполняю рефакторинг некоторого кода, и (...) часто заменяется другим обработчиком событий, например:
EventHandler A;
Test()
{
A += A_Method;
MyObject.MyEventHandler += A
}
Разве не проще пренебречь буквой "А" и просто написать:
Test()
{
MyObject.MyEventHandler += A_Method;
}
Какой смысл в EventHandler "A", если мы можем просто напрямую передать метод в объект EventHandler из "MyObject"?
Спасибо!
2 ответа
Я полагаю, вы имеете в виду
A += A_Method;
MyObject.MyEventHandler += A;
(без скобок после A_Method). Если так, предполагая, что в этом нет ничего более сложного, чем пример, A
вероятно, может быть безопасно опущен. При рефакторинге F12 (перейти к определению) - ваш друг: найдите все ссылки и убедитесь, что все они правильно перенаправлены и т. Д.
Конечно, пока A
не используется в других местах. В противном случае это мог быть рефакторинг для уменьшения дублирования кода.