Я сгенерировал некоторый код моего С# с помощью внешнего инструмента. Каждый сгенерированный класс имеет атрибут GeneratedCodeAttribute. Почему мой генератор создает этот атрибут?
Какова полезность атрибута GeneratedCodeAttribute в С#?
Ответ 1
Этот атрибут был установлен, потому что этот код генерируется инструментом, а не человеком:), что его использовать, вы можете спросить? MSDN сообщает нам:
Класс GeneratedCodeAttribute может использовать инструменты анализа кода для идентифицировать компьютерный код и для обеспечения анализа, основанного на инструмента и версии инструмента, который сгенерировал код.
Ответ 2
Первая ссылка - это ее документация, а вторая ссылка - подробное описание того, для чего это необходимо, почему генераторы кода производят ее и как аналитики кода потребляют ее.
http://msdn.microsoft.com/en-us/library/system.codedom.compiler.generatedcodeattribute.aspx
и
Отвечает ли это на ваш вопрос?
Ответ 3
Скорее всего, он используется генератором для поиска элементов, которые он создал, для выполнения, например, обновлений. Остерегайтесь, если вы измените сгенерированный код: в зависимости от поведения инструмента вы можете потерять свои изменения при дальнейшем обновлении.
Ответ 4
Одним из потенциальных преимуществ является то, что некоторые средства покрытия могут пропускать код на основе указанных атрибутов. Вы можете сообщить NCover игнорировать код с этим атрибутом.