Какова полезность атрибута GeneratedCodeAttribute в C #?

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

4 ответов


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

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


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

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/

Это ответ на твой вопрос?


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


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