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 не используется в других местах. В противном случае это мог быть рефакторинг для уменьшения дублирования кода.

Другие вопросы по тегам