Как изменить «Генерировать метод заглушки», чтобы выбрасывать NotImplementedException в VS? - PullRequest
7 голосов
/ 05 сентября 2008

Как изменить стандартное значение Создать метод заглушки поведение в Visaul Studio для создания метода с телом

throw new NotImplementedException();

вместо

throw new Exception("The method or operation is not implemented.");

Ответы [ 2 ]

8 голосов
/ 05 сентября 2008

Взято из: http://blogs.msdn.com/ansonh/archive/2005/12/08/501763.aspx

Visual Studio 2005 поддерживает таргетинг версии 1.0 компактной платформы. Чтобы сохранить компактный каркас небольшого размера, он не включает в себя все те же типы, которые существуют в настольном каркасе. Одним из типов, который не включен, является NotImplementedException.

Вы можете изменить сгенерированный код, отредактировав файл фрагмента кода: C: \ Program Files \ Microsoft Visual Studio 8 \ VC # \ Snippets \ 1033 \ Refactoring \ MethodStub.snippet и изменив раздел объявлений на следующий:

        <Declarations>
            <Literal Editable="true">
                <ID>signature</ID>
                <Default>signature</Default>
            </Literal>
            <Literal>
                <ID>Exception</ID>
                <Function>SimpleTypeName(global::System.NotImplementedException)</Function>
            </Literal>
        </Declarations>
1 голос
/ 05 сентября 2008

Есть еще одна причина: FxCop ловит экземпляры любого, кто выбрасывает 'Exception', и отмечает его, но допустимо создание экземпляров NotImplementedException.

Мне действительно нравится поведение по умолчанию, потому что оно имеет эту дифференциацию. NotImplementedException не является временным исключением, которое выдается при работе с кодом. Это подразумевает «я имею в виду, я действительно не собираюсь реализовывать это». Если вы оставите codegen таким, какой он есть, вам будет легко отличить в коде биты «я вернусь к этому позже» от бит «я решил не делать этого».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...