Два общих параметра для именования - либо после того, что делает метод:
theObject.Closing += SaveResults;
Или, альтернативно, после того, как метод обрабатывает:
theObject.Closing += ClosingHandler;
Что предпочтительнее, немного зависит от контекста.
В первом случае сразу становится ясно, что собирается делать обработчик, что делает код, регистрирующий обработчик, более читабельным ... но если смотреть на обработчик SaveResults
в отдельности, это не обязательно будет очевидно, когда он будет вызван, если аргументы события не имеют очевидного имени (ClosingEventArgs
или чего-то подобного).
Во втором случае регистрация более непрозрачна (хорошо, так что же произойдет, когда произойдет Closing
?), Но с другой стороны, если посмотреть на реализацию обработчика, будет очевидно, что происходит.
Я полагаю, что выбор зависит от того, какой из двух вариантов вы хотите сделать более очевидным; сайт регистрации или реализации обработчик.
Или же вы можете пойти на нечестивую комбинацию обоих методов:
theObject.Closing += ClosingHandlerSaveResults;
Теперь и сайт регистрации, и реализация одинаково очевидны, и ни один из них не выглядит особенно элегантно (плюс, вероятно, он нарушает принцип СУХОЙ).
Для записи я предпочитаю первую схему именования, когда theObject
содержится в области, отличной от реализации SaveResults
, и вторую схему, когда я подключаю обработчики к событиям, которые содержатся в одном классе .