2010-02-25 16 views
5

jestem całkiem pewny, że poprzednie wersje Visual Studio Code Analysis ostrzeżony o wykorzystaniu NotImplementedException, to znaczy każdy użytkownik, który zawierał tenDlaczego analiza kodu nie ostrzega o wyjątku NotImplementedException?

throw new NotImplementedException(); 

dałoby ostrzeżenie Kalifornia.

To nie wydaje się być w przypadku Visual Studio 2008.

było to, że zwłaszcza zasada usunięta, albo ja po prostu sobie wyobrazić, że kiedykolwiek istniał?

+0

Brak ostrzeżenia od VS 2005, a także brak istotnych wyników Google dla '„jak naprawić naruszenia”NotImplementedException' - Nie sądzę, żeby to było lub był częścią domyślnego zestawu reguł. – AakashM

+0

Być może był w FxCop, ale nigdy w VS ... –

Odpowiedz

1

Nie przypominam sobie, by kiedykolwiek widziałem taką regułę w zestawie reguł dostarczanym przez firmę Microsoft. Jest to jedna z pierwszych niestandardowych reguł, które stworzyłem na co dzień od co najmniej dni FxCop 1.35, więc musiałbym zgadywać, że nawiązuje do dni FxCop 1.32, jeśli kiedykolwiek istniała ...

+0

Zaczynam myśleć, że moja pamięć gra ze mną sztuczki, ale jeśli nie, to na pewno od dawna nie pamiętam, jak to widziałem. –

4

prawdopodobnie myśli o this FxCop warning, że pojawi się podczas rzucania NotImplementedException ze specjalnych metod, takich jak getter rzeczowych akcesor zdarzeń, Równa, GetHashCode, utylizować etcetera:

CA1065: Microsoft.Design: „SomeClass. SomeProperty.get() ' tworzy wyjątek typu "NotImplementedException", typ wyjątku , który nie powinien być wychowany w nieruchomości. Jeśli ta instancja wyjątku może zostać podniesiona, użyj innego typu wyjątku, przekonwertuj tę właściwość na metodę, lub zmień logikę tej właściwości, tak aby nie powodował już wyjątku.

Jednak nie jest to jednoznacznie związane z NotImplementedException. FxCop ma białe listy wyjątków, które mogą być (bezpośrednio) wyrzucane przez te metody.

0

Niestety, nie ma takiej reguły w standardowym zestawie reguł.

Możesz znaleźć moją implementację tego w one of my other answers.

1

Wiem, że to stare pytanie, ale otrzymuję to jako ostrzeżenie (12 września 2017 r.) Podczas analizy kodu przy użyciu Visual Studio 2017. Jest to kod "CA1065", o którym wspomina Wim Coenen, więc Wygląda na to, że Microsoft musiał przenieść reguły FxCop na platformę analityczną Roslyn.

Link provided in Error List window

Powiązane problemy