У меня есть класс 'b', который наследуется от класса 'a'. В классе «a» есть код, который выполняет действие, если событие не равно null. Мне нужен этот код для запуска в классе 'b' в течение определенного времени в приложении. Поэтому в 'b' я подписался на нового обработчика (событие).Что делает «throw new NotImplementedException();» сделать точно?
Если я оставил автогенерированное событие «как есть» в классе «b» с линией throw new NotImplementedException();
, код работает/работает, как ожидалось. Как только я удалю исключение thow, приложение перестает работать так, как ожидалось.
Итак, что же делает throw new NotImplementedException
, делая исключение?
Я понимаю, что, вероятно, на данный момент я пытаюсь решить проблему кодирования неправильно, и я уверен, что найду лучший способ сделать это (я все еще изучаю), но мой вопрос остается. Почему эта строка меняет исход кода?
EDIT: Я реанимирую, что не очень подробно с моим кодом. К сожалению, из-за строгих политик я не могу быть. У меня есть в классе 'a' выражение if.
if (someEvent != null)
Когда код «работает», оператор if возвращает true. Когда он работает не так, как ожидается, он возвращает «false». В классе «b», единственный раз, когда приложение «работает» (или оператор if возвращает true), это когда у меня есть строка throw new NotImplementedException();
в методе событий класса «b», которая автоматически генерируется при присоединении нового события.
Впервые я заметил, что кто-то спрашивает, почему ** удаление ** исключение вызывает нежелательное поведение;) –
«больше не работает должным образом»: что вы ожидаете, и что происходит вместо этого? – phoog
Это звучит как самый неприятный менеджер проектов когда-либо ... «Тим, закончили ли вы еще не реализовать эту функцию?» –