Эти атрибуты объявлены с помощью ConditionalAttribute, что означает, что компилятор не должен включать их в окончательный исходный код, если не определено условное (в данном случае RESOURCE_ANNOTATION_WORK
).Похоже, что эти атрибуты предназначены для некоторого инструмента статического анализа, внутреннего для команды разработчиков .NET, для какой-то цели использовать специальную сборку Framework.Непонятно, что это за цель.Что-то связанное с параллельной загрузкой двух версий Framework в одном и том же процессе.
ResourceConsumption
, кажется, является основным атрибутом, указывающим, что этот класс или метод потребляет некоторую форму ресурса за пределами простогообычная память, и является ли это потребляемым ресурсом для процесса или для машины.ResourceExposure
, кажется, указывает, что класс или метод обертывают этот ресурс для использования другими классами или методами.
Я столкнулся с атрибутами при просмотре исходного кода для Font
и FontFamily
, но естьмного, много классов, которые аннотированы с ними.Я не думаю, что для любого кода, который вы пишете, полезно добавлять атрибуты, потому что они не будут скомпилированы, если вы не сделаете это специально, и у вас нет инструмента для анализа результатов.