Это то, что IDE вставляет, чтобы автоматически сгенерированный код компилировался. Он не может вставить пустой метод, потому что может потребоваться возвращаемое значение. Помещая исключение, анализатор достижимости выводит, что все пути в методе либо возвращают значение, либо бросают, и поэтому не будут жаловаться. Он также служит для напоминания во время выполнения (когда вы пытаетесь выполнить указанный метод), что вам нужно написать тело для метода.
Вы всегда должны заменять throw new NotImplementedException();
собственной логикой.
Я также считаю NotImplementedException
очень полезным при выполнении TDD. Я пишу несколько тестов, а затем мне нужно добавить код в тестируемый класс, чтобы мои тесты действительно компилировались. Я просто напишу определение метода и добавлю тело с throw new NotImplementedException();
(конечно, для этого определен фрагмент кода). Тогда мои тесты скомпилируются и потерпят неудачу (красный). Затем я напишу тела, пока мои тесты не пройдут (зеленый). Затем, для отдыха, сделайте время рефакторинга.