VisaulStudioでデフォルトのGenerateMethodStubの動作を変更して、bodyを使用してメソッドを生成するにはどうすればよいですか?
throw new NotImplementedException();
それ以外の
throw new Exception("The method or operation is not implemented.");
VisaulStudioでデフォルトのGenerateMethodStubの動作を変更して、bodyを使用してメソッドを生成するにはどうすればよいですか?
throw new NotImplementedException();
それ以外の
throw new Exception("The method or operation is not implemented.");
出典: http://blogs.msdn.com/ansonh/archive/2005/12/08/501763.aspx
Visual Studio 2005 は、コンパクト フレームワークの 1.0 バージョンのターゲット設定をサポートしています。コンパクト フレームワークのサイズを小さく保つために、デスクトップ フレームワークに存在する同じ型がすべて含まれているわけではありません。含まれていない型の 1 つは NotImplementedException です。
コード スニペット ファイル C:\Program Files\Microsoft Visual Studio 8\VC#\Snippets\1033\Refactoring\MethodStub.snippetを編集し、Declarations セクションを次のように変更することで、生成されたコードを変更できます。
<Declarations>
<Literal Editable="true">
<ID>signature</ID>
<Default>signature</Default>
</Literal>
<Literal>
<ID>Exception</ID>
<Function>SimpleTypeName(global::System.NotImplementedException)</Function>
</Literal>
</Declarations>
別の理由があります。FxCopは「Exception」をスローする人のインスタンスをキャッチしてフラグを立てますが、「NotImplementedException」のインスタンスをスローすることは許容されます。
私は実際にはデフォルトの動作が好きです。なぜなら、この動作にはこの違いがあるからです。NotImplementedExceptionは、コードの処理中にスローされる一時的な例外ではありません。それは「つまり、私は実際にこのことを実装するつもりはない」という意味です。codegenをそのままにしておくと、コード内で「後でこれに戻る」ビットと「これを行わないことにした」ビットを簡単に区別できます。