Wie ändere ich „Generate Method Stub“, um eine NotImplementedException in VS auszulösen?
-
09-06-2019 - |
Frage
Wie kann ich die Standardeinstellung ändern? Methoden-Stub generieren Verhalten in Visaul Studio, um eine Methode mit einem Körper zu generieren
throw new NotImplementedException();
anstatt
throw new Exception("The method or operation is not implemented.");
Lösung
Genommen von: http://blogs.msdn.com/ansonh/archive/2005/12/08/501763.aspx
Visual Studio 2005 unterstützt die Ausrichtung auf die Version 1.0 des kompakten Frameworks.Um die Größe des kompakten Frameworks klein zu halten, enthält es nicht alle gleichen Typen, die im Desktop-Framework vorhanden sind.Einer der nicht enthaltenen Typen ist NotImplementedException.
Sie können den generierten Code ändern, indem Sie die Code-Snippet-Datei bearbeiten:C:\Programme\Microsoft Visual Studio 8\VC#\Snippets\1033 efactoring\MethodStub.snippet und Änderung des Abschnitts „Erklärungen“ wie folgt:
<Declarations>
<Literal Editable="true">
<ID>signature</ID>
<Default>signature</Default>
</Literal>
<Literal>
<ID>Exception</ID>
<Function>SimpleTypeName(global::System.NotImplementedException)</Function>
</Literal>
</Declarations>
Andere Tipps
Es gibt noch einen weiteren Grund:FxCop fängt Instanzen ab, in denen jemand eine „Exception“ auslöst, und markiert sie, aber das Auslösen von Instanzen von „NotImplementedException“ ist akzeptabel.
Eigentlich gefällt mir das Standardverhalten, weil es diese Differenzierung aufweist.NotImplementedException ist keine vorübergehende Ausnahme, die ausgelöst wird, während Sie Ihren Code durcharbeiten.Es impliziert: „Ich meine es ernst Wirklich Ich werde dieses Ding nicht umsetzen.Wenn Sie den Codegen so belassen, wie er ist, können Sie im Code leicht die „Ich werde später darauf zurückkommen“-Bits von den „Ich habe beschlossen, dies nicht zu tun“-Bits unterscheiden.