Como alterar “Generate Method Stub” para lançar NotImplementedException no VS?
-
09-06-2019 - |
Pergunta
Como posso alterar o padrão Gerar stub de método comportamento no Visaul Studio para gerar método com corpo
throw new NotImplementedException();
em vez de
throw new Exception("The method or operation is not implemented.");
Solução
Tirado de: http://blogs.msdn.com/ansonh/archive/2005/12/08/501763.aspx
O Visual Studio 2005 dá suporte ao direcionamento à versão 1.0 da estrutura compacta.Para manter pequeno o tamanho da estrutura compacta, ela não inclui todos os mesmos tipos que existem na estrutura de desktop.Um dos tipos que não está incluído é NotImplementedException.
Você pode alterar o código gerado editando o arquivo do snippet de código:C:\Arquivos de Programas\Microsoft Visual Studio 8\VC#\Snippets\1033 efactoring\MethodStub.snippet e alterando a seção Declarações para o seguinte:
<Declarations>
<Literal Editable="true">
<ID>signature</ID>
<Default>signature</Default>
</Literal>
<Literal>
<ID>Exception</ID>
<Function>SimpleTypeName(global::System.NotImplementedException)</Function>
</Literal>
</Declarations>
Outras dicas
Há outro motivo:O FxCop captura instâncias de qualquer pessoa que esteja lançando 'Exception' e sinaliza isso, mas lançar instâncias de 'NotImplementedException' é aceitável.
Na verdade, gosto do comportamento padrão, porque ele possui essa diferenciação.NotImplementedException não é uma exceção temporária a ser lançada enquanto você trabalha no código.Implica "Estou falando sério, estou realmente não vou implementar isso".Se você deixar o codegen do jeito que está, será fácil diferenciar no código os bits "Voltarei a isso mais tarde" dos bits "Decidi não fazer isso".