2012-01-03 4 views
4

Я столкнулся с атрибутом в C#, который называется [Inheritance]. Microsoft documentation по атрибуту несколько ограничен. Атрибут имеет только одно свойство, которое является перечислением, которое они называют inheritance level. Это все, что я мог найти, перейдя по ссылке. Итак, вот мои вопросы:"Inheritance" Атрибут: что он делает?

  • Действительно ли атрибут что-то делает или это просто обозначение?

  • Если он что-то делает, он обеспечивает соблюдение наследования (или его отсутствия) путем выброса ошибки времени компиляции?

  • Или, может ли это на самом деле изменить то, что унаследовано? ex) InheritanceLevel.NotInherited, то он отменяет наследование?

+1

См замечания. Это не имеет никакого отношения к компилятору. – SLaks

+2

Когда атрибуты когда-либо _до_ что-нибудь, сами по себе? Они метаданные для _do_ что-то _with_. –

+0

В документе упоминается «Когда метод AddInheritedComponents службы IInheritanceService ищет поля компонента компонента для идентификации полей, которые унаследованы от базового класса, этот метод представляет уровень наследования каждого компонента с использованием атрибута InheritanceAttribute». Это действительно мало говорит, но я могу сказать, что он не используется ни для чего, кроме этого. –

ответ

3
  • Он ничего не делает, это обозначение используется внутри компилятора/линкера

  • N/A

  • N/A

Смежные вопросы