Я только что понял, что не до конца понимаю, почему в .NET вы назначаете события, используя символ + =.
Я понял это вчера, когда мне нужно было удалить событие и, не думая, что я делаю
someobject.onsomeevent += null
подумал, что просто удалит событие, которое я ранее назначил.
После некоторого расследования я понял, что должен
someobject.onsomeevent -= someeventmethod;
После выяснения этого я понял, что не понимаю, как методы событий назначаются в .NET.
Итак, у меня есть несколько вопросов:
Во-первых, значит ли это, что я могу сделать
someobject.onsomeevent += someeventmethod;
someobject.onsomeevent += someeventothermethod;
Если так, то при наступлении onsomeevent они оба получат удар, причем в указанном порядке или одновременно?
Кроме того, как определить, какие методы событий уже назначены для someobject.onsomeevent ?
Во-вторых, есть ли способ сохранить методы событий в некотором классе, удалить их из someobject.onsomeevent и переназначить их после завершения некоторых других процедур, которые обычно вызывают событие? *