Почему анализ кода не предупреждает об исключении NotImplementedException?

Я почти уверен, что предыдущие версии Visual Studio Code Analysis предупреждали об использовании NotImplementedException, т.е. любого члена, содержащего это

throw new NotImplementedException();

выдаст предупреждение CA.

Похоже, что это не относится к Visual Studio 2008.

Было ли это конкретное правило удалено, или я просто воображаю, что оно когда-либо существовало?


person Mark Seemann    schedule 25.02.2010    source источник
comment
Нет предупреждений от VS 2005, а также нет соответствующих результатов Google для "how to fix violations" NotImplementedException - я не думаю, что это было или было частью набора правил по умолчанию.   -  person AakashM    schedule 25.02.2010
comment
Возможно, это было в FxCop, но никогда в VS ...   -  person Mark Seemann    schedule 25.02.2010


Ответы (4)


Вы, вероятно, думаете об предупреждении FxCop который вы получаете, выбрасывая NotImplementedException из специальных методов, таких как средство получения свойства, средство доступа к событию, Equals, GetHashCode, Dispose и т. д .:

CA1065: Microsoft.Design: SomeClass.SomeProperty.get () создает исключение типа NotImplementedException, тип исключения, который не должен создаваться в свойстве. Если этот экземпляр исключения может быть вызван, используйте другой тип исключения, преобразуйте это свойство в метод или измените логику этого свойства, чтобы оно больше не создавало исключения.

Однако это не имеет прямого отношения к NotImplementedException. У FxCop есть белые списки исключений, которые могут (напрямую) выбрасываться этими методами.

person Wim Coenen    schedule 01.03.2010

Я не припомню, чтобы когда-либо встречал такое правило в наборе правил, поставляемом Microsoft. Это одно из первых настраиваемых правил, которые я создал на повседневной работе, по крайней мере, со времен FxCop 1.35, поэтому я должен предположить, что оно восходит к временам FxCop 1.32, если оно когда-либо существовало ...

person Nicole Calinoiu    schedule 01.03.2010
comment
Я начинаю думать, что моя память играет со мной злую шутку, но если нет, то уж точно прошло много времени с тех пор, как я это видел. - person Mark Seemann; 01.03.2010

Я знаю, что это старый вопрос, но я получаю это как предупреждение (12 сентября 2017 г.) при запуске анализа кода с помощью Visual Studio 2017. Вим Коенен упоминает именно код CA1065, поэтому кажется, что Microsoft должна перенесли правила FxCop на аналитическую платформу на базе Roslyn.

Ссылка в окне списка ошибок

person ryanwebjackson    schedule 12.09.2017

К сожалению, в стандартном наборе правил такого правила нет.

Вы можете найти мою реализацию этого в одном из моих других ответов.

person R. Martinho Fernandes    schedule 30.12.2010