diff options
Diffstat (limited to 'src/mscorlib/src/System/Reflection/TypeAttributes.cs')
-rw-r--r-- | src/mscorlib/src/System/Reflection/TypeAttributes.cs | 88 |
1 files changed, 45 insertions, 43 deletions
diff --git a/src/mscorlib/src/System/Reflection/TypeAttributes.cs b/src/mscorlib/src/System/Reflection/TypeAttributes.cs index 25aa113d2e..ad7d29dd1f 100644 --- a/src/mscorlib/src/System/Reflection/TypeAttributes.cs +++ b/src/mscorlib/src/System/Reflection/TypeAttributes.cs @@ -2,63 +2,65 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -namespace System.Reflection { - using System.Runtime.InteropServices; - using System; +using System.Runtime.InteropServices; +using System; + +namespace System.Reflection +{ // This Enum matchs the CorTypeAttr defined in CorHdr.h -[Serializable] -[Flags] + [Serializable] + [Flags] public enum TypeAttributes { - VisibilityMask = 0x00000007, - NotPublic = 0x00000000, // Class is not public scope. - Public = 0x00000001, // Class is public scope. - NestedPublic = 0x00000002, // Class is nested with public visibility. - NestedPrivate = 0x00000003, // Class is nested with private visibility. - NestedFamily = 0x00000004, // Class is nested with family visibility. - NestedAssembly = 0x00000005, // Class is nested with assembly visibility. - NestedFamANDAssem = 0x00000006, // Class is nested with family and assembly visibility. - NestedFamORAssem = 0x00000007, // Class is nested with family or assembly visibility. - + VisibilityMask = 0x00000007, + NotPublic = 0x00000000, // Class is not public scope. + Public = 0x00000001, // Class is public scope. + NestedPublic = 0x00000002, // Class is nested with public visibility. + NestedPrivate = 0x00000003, // Class is nested with private visibility. + NestedFamily = 0x00000004, // Class is nested with family visibility. + NestedAssembly = 0x00000005, // Class is nested with assembly visibility. + NestedFamANDAssem = 0x00000006, // Class is nested with family and assembly visibility. + NestedFamORAssem = 0x00000007, // Class is nested with family or assembly visibility. + // Use this mask to retrieve class layout informaiton // 0 is AutoLayout, 0x2 is SequentialLayout, 4 is ExplicitLayout - LayoutMask = 0x00000018, - AutoLayout = 0x00000000, // Class fields are auto-laid out - SequentialLayout = 0x00000008, // Class fields are laid out sequentially - ExplicitLayout = 0x00000010, // Layout is supplied explicitly - // end layout mask - + LayoutMask = 0x00000018, + AutoLayout = 0x00000000, // Class fields are auto-laid out + SequentialLayout = 0x00000008, // Class fields are laid out sequentially + ExplicitLayout = 0x00000010, // Layout is supplied explicitly + // end layout mask + // Use this mask to distinguish whether a type declaration is an interface. (Class vs. ValueType done based on whether it subclasses S.ValueType) - ClassSemanticsMask= 0x00000020, - Class = 0x00000000, // Type is a class (or a value type). - Interface = 0x00000020, // Type is an interface. - + ClassSemanticsMask = 0x00000020, + Class = 0x00000000, // Type is a class (or a value type). + Interface = 0x00000020, // Type is an interface. + // Special semantics in addition to class semantics. - Abstract = 0x00000080, // Class is abstract - Sealed = 0x00000100, // Class is concrete and may not be extended - SpecialName = 0x00000400, // Class name is special. Name describes how. - + Abstract = 0x00000080, // Class is abstract + Sealed = 0x00000100, // Class is concrete and may not be extended + SpecialName = 0x00000400, // Class name is special. Name describes how. + // Implementation attributes. - Import = 0x00001000, // Class / interface is imported - Serializable = 0x00002000, // The class is Serializable. + Import = 0x00001000, // Class / interface is imported + Serializable = 0x00002000, // The class is Serializable. - WindowsRuntime = 0x00004000, // Type is a Windows Runtime type. + WindowsRuntime = 0x00004000, // Type is a Windows Runtime type. // Use tdStringFormatMask to retrieve string information for native interop - StringFormatMask = 0x00030000, - AnsiClass = 0x00000000, // LPTSTR is interpreted as ANSI in this class - UnicodeClass = 0x00010000, // LPTSTR is interpreted as UNICODE - AutoClass = 0x00020000, // LPTSTR is interpreted automatically - CustomFormatClass = 0x00030000, // A non-standard encoding specified by CustomFormatMask - CustomFormatMask = 0x00C00000, // Use this mask to retrieve non-standard encoding information for native interop. The meaning of the values of these 2 bits is unspecified. + StringFormatMask = 0x00030000, + AnsiClass = 0x00000000, // LPTSTR is interpreted as ANSI in this class + UnicodeClass = 0x00010000, // LPTSTR is interpreted as UNICODE + AutoClass = 0x00020000, // LPTSTR is interpreted automatically + CustomFormatClass = 0x00030000, // A non-standard encoding specified by CustomFormatMask + CustomFormatMask = 0x00C00000, // Use this mask to retrieve non-standard encoding information for native interop. The meaning of the values of these 2 bits is unspecified. // end string format mask - BeforeFieldInit = 0x00100000, // Initialize the class any time before first static field access. + BeforeFieldInit = 0x00100000, // Initialize the class any time before first static field access. // Flags reserved for runtime use. - ReservedMask = 0x00040800, - RTSpecialName = 0x00000800, // Runtime should check name encoding. - HasSecurity = 0x00040000, // Class has security associate with it. - } + ReservedMask = 0x00040800, + RTSpecialName = 0x00000800, // Runtime should check name encoding. + HasSecurity = 0x00040000, // Class has security associate with it. + } } |