2010-02-25 12 views
5

Estoy bastante seguro de que las versiones anteriores de Análisis Visual Studio Código advirtieron sobre el uso de NotImplementedException, es decir, cualquier miembro que contenía este¿Por qué Code Analysis no advierte sobre NotImplementedException?

throw new NotImplementedException(); 

daría una advertencia CA.

Esto no parece ser el caso con Visual Studio 2008.

¿Era esa regla particular, elimina, o estoy imaginando que alguna vez existió?

+0

No hay avisos de VS 2005, y también se han encontrado resultados relevantes para Google ' "cómo solucionar violaciónes" NotImplementedException' - Yo no creo que esto era o parte del conjunto de reglas por defecto. – AakashM

+0

Quizás fue en FxCop, pero nunca en VS ... –

Respuesta

1

No recuerdo haber visto una regla así en el conjunto de reglas enviadas por Microsoft. Es una de las primeras reglas personalizadas que he creado en el trabajo diurno desde al menos los días de FxCop 1.35, así que tendría que adivinar que se remonta a los días de FxCop 1.32 si alguna vez existió ...

+0

Estoy empezando a pensar que mi memoria está jugando conmigo, pero si no, seguramente ha pasado mucho tiempo desde que recuerdo haberlo visto. –

4

usted probablemente está pensando en this FxCop warning que se obtiene al lanzar NotImplementedException de métodos especiales, tales como una propiedad de captador, de acceso evento, iguales, GetHashCode, etcétera Desechar:

CA1065: Microsoft.Design: 'SomeClass. SomeProperty.get() ' crea una excepción de tipo ' NotImplementedException ', un tipo de excepción que no debería ser criado en una propiedad. Si esta instancia excepción podría ser elevado, utilizan un tipo de excepción diferente, convertir esta propiedad en un método, o cambiar la lógica de esta propiedad tan que ya no genera una excepción .

Sin embargo, no está explícitamente relacionado con NotImplementedException. FxCop tiene listas blancas para las excepciones que pueden ser lanzadas (directamente) por estos métodos.

0

Desafortunadamente, no existe tal regla en el conjunto de reglas estándar.

Puede encontrar mi implementación en one of my other answers.

1

Sé que esta es una vieja pregunta, pero estoy recibiendo esto como una advertencia (12 Sep 2017), al ejecutar Code Analysis, usando Visual Studio 2017. Es el código "CA1065" que Wim Coenen menciona, por lo parece que Microsoft debe haber portado las reglas de FxCop a la plataforma de análisis basada en Roslyn.

Link provided in Error List window

Cuestiones relacionadas