В чем заключается полезность атрибута GeneratedCodeAttribute в C #? - PullRequest
11 голосов
/ 05 марта 2010

Я сгенерировал часть своего кода C # с помощью внешнего инструмента.Каждый сгенерированный класс имеет атрибут GeneratedCodeAttribute.Почему мой генератор создает этот атрибут?

Ответы [ 4 ]

13 голосов
/ 05 марта 2010

Этот атрибут был установлен, потому что этот код генерируется инструментом, а не человеком :) Как его использовать, спросите вы? MSDN говорит нам:

Класс GeneratedCodeAttribute может использоваться инструментами анализа кода для идентифицировать сгенерированный компьютером код и предоставить анализ на основе инструмент и версия инструмента, который сгенерировал код.

6 голосов
/ 05 марта 2010

Первая ссылка - это документация, а вторая ссылка - подробное описание того, для чего это нужно, почему генераторы кода его производят и как его используют анализаторы кода.

http://msdn.microsoft.com/en-us/library/system.codedom.compiler.generatedcodeattribute.aspx

и

https://blogs.msdn.microsoft.com/codeanalysis/2007/04/27/correct-usage-of-the-compilergeneratedattribute-and-the-generatedcodeattribute/

Это отвечает на ваш вопрос?

1 голос
/ 05 марта 2010

Одним из возможных применений является то, что некоторые инструменты покрытия могут пропускать код на основе указанных атрибутов. Вы можете указать NCover игнорировать код с этим атрибутом.

1 голос
/ 05 марта 2010

Скорее всего, он используется генератором для поиска созданных им элементов, например, для выполнения обновлений. Будьте осторожны, если вы изменяете сгенерированный код: в зависимости от поведения инструмента вы можете потерять ваши модификации при дальнейшем обновлении.

...