/Mono.Cecil/TypeAttributes.cs
http://github.com/jbevain/cecil · C# · 63 lines · 36 code · 10 blank · 17 comment · 0 complexity · c4cd99791613d921a71206fc072c934c MD5 · raw file
- //
- // Author:
- // Jb Evain (jbevain@gmail.com)
- //
- // Copyright (c) 2008 - 2015 Jb Evain
- // Copyright (c) 2008 - 2011 Novell, Inc.
- //
- // Licensed under the MIT/X11 license.
- //
- using System;
- namespace Mono.Cecil {
- [Flags]
- public enum TypeAttributes : uint {
- // Visibility attributes
- VisibilityMask = 0x00000007, // Use this mask to retrieve visibility information
- NotPublic = 0x00000000, // Class has no public scope
- Public = 0x00000001, // Class has 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
- // Class layout attributes
- LayoutMask = 0x00000018, // Use this mask to retrieve class layout information
- AutoLayout = 0x00000000, // Class fields are auto-laid out
- SequentialLayout = 0x00000008, // Class fields are laid out sequentially
- ExplicitLayout = 0x00000010, // Layout is supplied explicitly
- // Class semantics attributes
- ClassSemanticMask = 0x00000020, // Use this mask to retrieve class semantics information
- Class = 0x00000000, // Type is a class
- Interface = 0x00000020, // Type is an interface
- // Special semantics in addition to class semantics
- Abstract = 0x00000080, // Class is abstract
- Sealed = 0x00000100, // Class cannot be extended
- SpecialName = 0x00000400, // Class name is special
- // Implementation attributes
- Import = 0x00001000, // Class/Interface is imported
- Serializable = 0x00002000, // Class is serializable
- WindowsRuntime = 0x00004000, // Windows Runtime type
- // String formatting attributes
- StringFormatMask = 0x00030000, // Use this mask to retrieve string information for native interop
- AnsiClass = 0x00000000, // LPSTR is interpreted as ANSI
- UnicodeClass = 0x00010000, // LPSTR is interpreted as Unicode
- AutoClass = 0x00020000, // LPSTR is interpreted automatically
- // Class initialization attributes
- BeforeFieldInit = 0x00100000, // Initialize the class before first static field access
- // Additional flags
- RTSpecialName = 0x00000800, // CLI provides 'special' behavior, depending upon the name of the Type
- HasSecurity = 0x00040000, // Type has security associate with it
- Forwarder = 0x00200000, // Exported type is a type forwarder
- }
- }