Я столкнулся с атрибутом в C#, который называется [Inheritance]
. Microsoft documentation по атрибуту несколько ограничен. Атрибут имеет только одно свойство, которое является перечислением, которое они называют inheritance level. Это все, что я мог найти, перейдя по ссылке. Итак, вот мои вопросы:"Inheritance" Атрибут: что он делает?
Действительно ли атрибут что-то делает или это просто обозначение?
Если он что-то делает, он обеспечивает соблюдение наследования (или его отсутствия) путем выброса ошибки времени компиляции?
Или, может ли это на самом деле изменить то, что унаследовано? ex)
InheritanceLevel.NotInherited
, то он отменяет наследование?
См замечания. Это не имеет никакого отношения к компилятору. – SLaks
Когда атрибуты когда-либо _до_ что-нибудь, сами по себе? Они метаданные для _do_ что-то _with_. –
В документе упоминается «Когда метод AddInheritedComponents службы IInheritanceService ищет поля компонента компонента для идентификации полей, которые унаследованы от базового класса, этот метод представляет уровень наследования каждого компонента с использованием атрибута InheritanceAttribute». Это действительно мало говорит, но я могу сказать, что он не используется ни для чего, кроме этого. –