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


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 при исследовании типа во время выполнения. Многие из этих флагов не соответствуют синтаксису объявления типов для некоторых языков. В результате для : , , , Abstract, , PublicSealed, NotPublic, NestedPublic, и NestedPrivateимеют значение CodeTypeDeclaration только следующие флаги. InterfaceClass

Примечание

Некоторые флаги, например 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;) удаляются все остальные флаги, которые могут быть установлены.

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

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