TypeAttributes Enumeration
Specifies type attributes.
This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.
Assembly: mscorlib (in mscorlib.dll)
| Member name | Description | |
|---|---|---|
| Abstract | Specifies that the type is abstract. | |
| AnsiClass | LPTSTR is interpreted as ANSI. | |
| AutoClass | LPTSTR is interpreted automatically. | |
| AutoLayout | Specifies that class fields are automatically laid out by the common language runtime. | |
| BeforeFieldInit | Specifies that calling static methods of the type does not force the system to initialize the type. | |
| Class | Specifies that the type is a class. | |
| ClassSemanticsMask | Specifies class semantics information; the current class is contextful (else agile). | |
| CustomFormatClass | LPSTR is interpreted by some implementation-specific means, which includes the possibility of throwing a NotSupportedException. Not used in the Microsoft implementation of the .NET Framework. | |
| CustomFormatMask | Used to retrieve non-standard encoding information for native interop. The meaning of the values of these 2 bits is unspecified. Not used in the Microsoft implementation of the .NET Framework. | |
| ExplicitLayout | Specifies that class fields are laid out at the specified offsets. | |
| HasSecurity | Type has security associate with it. | |
| Import | Specifies that the class or interface is imported from another module. | |
| Interface | Specifies that the type is an interface. | |
| LayoutMask | Specifies class layout information. | |
| NestedAssembly | Specifies that the class is nested with assembly visibility, and is thus accessible only by methods within its assembly. | |
| NestedFamANDAssem | Specifies that the class is nested with assembly and family visibility, and is thus accessible only by methods lying in the intersection of its family and assembly. | |
| NestedFamily | Specifies that the class is nested with family visibility, and is thus accessible only by methods within its own type and any derived types. | |
| NestedFamORAssem | Specifies that the class is nested with family or assembly visibility, and is thus accessible only by methods lying in the union of its family and assembly. | |
| NestedPrivate | Specifies that the class is nested with private visibility. | |
| NestedPublic | Specifies that the class is nested with public visibility. | |
| NotPublic | Specifies that the class is not public. | |
| Public | Specifies that the class is public. | |
| ReservedMask | Attributes reserved for runtime use. | |
| RTSpecialName | Runtime should check name encoding. | |
| Sealed | Specifies that the class is concrete and cannot be extended. | |
| SequentialLayout | Specifies that class fields are laid out sequentially, in the order that the fields were emitted to the metadata. | |
| Serializable | Specifies that the class can be serialized. | |
| SpecialName | Specifies that the class is special in a way denoted by the name. | |
| StringFormatMask | Used to retrieve string information for native interoperability. | |
| UnicodeClass | LPTSTR is interpreted as UNICODE. | |
| VisibilityMask | Specifies type visibility information. | |
| WindowsRuntime | Specifies a Windows Runtime type. |
Some of the members of the TypeAttributes enumeration are masks that represent a set of mutually exclusive attributes. For example, the TypeAttributes::VisibilityMask member includes the TypeAttributes::NotPublic, TypeAttributes::Public, TypeAttributes::NestedPublic, TypeAttributes::NestedPrivate, TypeAttributes::NestedFamily, TypeAttributes::NestedAssembly, TypeAttributes::NestedFamANDAssem, and TypeAttributes::NestedFamORAssem members, Because each attribute set includes a member whose underlying value is zero, you should first And the value of the mask with the specific TypeAttributes value retrieved from a property such as Type::Attributes. The following table lists the masks and the individual members that they include:
Mask | Includes |
|---|---|
VisibilityMask | NotPublic |
LayoutMask | AutoLayout |
ClassSemanticsMask | Class |
StringFormatMask | AnsiClass |
CustomFormatMask | No members. |
The members of this enumerator class match the CorTypeAttr enumerator as defined in the corhdr.h file.
The following example retrieves the value of the Attributes property for Type objects that represent a number of different types, and then determines whether individual attribute flags have been set.
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1