2010-02-25 11 views
5

Ich bin mir ziemlich sicher, dass frühere Versionen von Visual Studio-Code-Analyse über die Verwendung von NotImplementedException gewarnt, das heißt jedes Mitglied, das diesen Warum warnt die Codeanalyse nicht vor NotImplementedException?

throw new NotImplementedException(); 

enthalten würde eine CA Warnung geben.

Dies scheint nicht der Fall mit Visual Studio 2008.

Waren die bestimmte Regel entfernt zu sein, oder bin ich vorstellen, nur, dass es überhaupt existiert?

+0

Keine Warnung von VS 2005, und auch keine relevanten Google-Ergebnisse für 'NotImplementedException'„ wie Verletzungen zu beheben“- ich glaube nicht, das war oder war Teil des Standard-Regelsatzes. – AakashM

+0

Vielleicht war es in FxCop, aber nie in VS ... –

Antwort

1

Ich kann mich nicht erinnern, jemals eine solche Regel in dem von Microsoft ausgelieferten Regelsatz gesehen zu haben. Es ist eine der ersten benutzerdefinierten Regeln, die ich seit mindestens den Tagen von FxCop 1.35 im Tagesjob erstellt habe, also müsste ich raten, dass es an die Tage von FxCop 1.32 erinnert, wenn es jemals existiert hat ...

+0

Ich beginne zu denken, dass mein Gedächtnis Tricks mit mir spielt, aber wenn nicht, es ist sicher eine lange Zeit seit ich mich erinnere, es zu sehen. –

4

Sie wahrscheinlich denken über this FxCop warning, die Sie erhalten, wenn NotImplementedException von speziellen Methoden wie zum Beispiel eine Eigenschaft Getter, Ereignis Accessor werfen, Equals, GetHashCode, etcetera Entsorgen:

CA1065: Microsoft.Design: ‚Someclass. SomeProperty.get() ' erstellt eine Ausnahme vom Typ ' NotImplementedException ', eine Ausnahmetyp, der nichtsein sollteaufgewachsen in einer Eigenschaft. Wenn diese Ausnahme Instanz könnte erhöht werden, verwenden einen anderen Ausnahmetyp, convert diese Eigenschaft in eine Methode, oder diese Eigenschaft Logik ändern, so dass es nicht mehr eine Ausnahme auslöst.

Es ist jedoch nicht explizit auf NotImplementedException bezogen. FxCop hat Whitelists für die Ausnahmen, die (direkt) von diesen Methoden ausgelöst werden können.

0

Leider gibt es im Standardregelwerk keine solche Regel.

Sie können meine Implementierung davon in one of my other answers finden.

1

Ich weiß, dies ist eine alte Frage, aber ich bekomme dies als Warnung (12 Sep 2017), wenn Code-Analyse mit Visual Studio 2017 ausgeführt. Es ist der "CA1065" Code, den Wim Coenen erwähnt Offenbar muss Microsoft FxCop-Regeln auf die Roslyn-basierte Analyseplattform portiert haben.

Link provided in Error List window