Как удаление обработчика событий с помощью - = работает, когда указано «новое» событие

В учебном руководстве по событиям MSDN подключение к событиям демонстрируется на примере:

// Add "ListChanged" to the Changed event on "List":
List.Changed += new ChangedEventHandler(ListChanged);
...
// Detach the event and delete the list:
List.Changed -= new ChangedEventHandler(ListChanged);

Где, как я держал ссылку на делегата. Пример:

ChangedEventHandler myChangedEvent = new ChangedEventHandler(ListChanged);
List.Changed += myChangedEvent;
...
List.Changed -= myChangedEvent;

Когда я смотрю на пример кода MSDN, "- = new" мне кажется неправильным. Почему в этом списке должна быть ссылка на только что созданный мной обработчик событий?

Очевидно, я должен думать о вещах неправильно? Могу ли я получить указатель на техническое объяснение того, как работает - =, увидев, что - = не использует его.

18
задан jphofmann 24 October 2011 в 21:10
поделиться