В чем заключается использование незарегистрированного обработчика событий, который еще не добавлен в код ниже?Какой смысл использовать EventHandler?
public class foo
{
private event EventHandler<boo> booCompleted;
public RegisterBooCompletedHandler(EventHandler<boo> newBooCompletedEventHandler, bool forceUnregisterOtherEventHandlers)
{
if (forceUnregisterOtherEventHandlers)
booCompleted = null
booCompleted -= newBooCompletedEventHandler; // <- why do we unregister not added yet event handler?
booCompleted += newBooCompletedEventHandler;
}
}
Это, вероятно, чтобы убедиться, что нет ранее существовавшая обработчик события, связанные с этим событием, прежде чем добавить один, или в этом случае, убедитесь, что booCompleted не существующую ссылку на newBooCompletedEventHandler. (Происходит, если RegisterBooCompletedHandler каким-то образом вызывается дважды по ошибке) –