Поделиться через


CodeTypeDeclaration.TypeAttributes Свойство

Определение

Возвращает или задает атрибуты типа.

public:
 property System::Reflection::TypeAttributes TypeAttributes { System::Reflection::TypeAttributes get(); void set(System::Reflection::TypeAttributes value); };
public System.Reflection.TypeAttributes TypeAttributes { get; set; }
member this.TypeAttributes : System.Reflection.TypeAttributes with get, set
Public Property TypeAttributes As TypeAttributes

Значение свойства

TypeAttributes Объект, указывающий атрибуты типа.

Комментарии

Свойство TypeAttributes содержит тот же тип значений, которые используются System.Reflection при изучении типа во время выполнения. Многие из этих флагов не соответствуют синтаксису объявления типа для некоторых языков. В результате только следующие флаги являются значительными CodeTypeDeclaration для : Class, Interface, Abstract, Sealed, , Public, NotPublicNestedPublicи NestedPrivate.

Замечание

Некоторые флаги, такие как Abstract перекрытие со значением флагов в Attributes свойстве этого, CodeTypeDeclaration наследуется от CodeTypeMember. Свойство Attributes является побочным эффектом CodeTypeDeclaration класса, наследуемого от CodeTypeMember того, чтобы классы могли быть вложены. Флаги в TypeAttributes свойстве следует использовать вместо флагов в свойстве Attributes .

Замечание

Шаблон настройки флагов видимости (флагов, содержащих слова Public или Nested) заключается в том, чтобы маскировать все флаги видимости с помощью VisibilityMask нужного флага видимости, а затем задать нужный флаг видимости. Например, оператор кода C# для идентификации CodeTypeDeclaration (именованногоcd) в качестве внутреннего класса.cd.TypeAttributes = (cd.TypeAttributes & ~TypeAttributes.VisibilityMask) | TypeAttributes.NotPublic; Код для задания того же значения в Visual Basic.cd.TypeAttributes = (cd.TypeAttributes And (TypeAttributes.VisibilityMask Xor -1)) Or TypeAttributes.NotPublic TypeAttributes Установка свойства непосредственно на флаг видимости (cd.TypeAttributes = TypeAttributes.NotPublic;) удаляет все остальные флаги, которые могут быть заданы.

Применяется к

См. также раздел