1 // ==++== 2 // 3 // Copyright (c) Microsoft Corporation. All rights reserved. 4 // 5 // ==--== 6 // <OWNER>WESU</OWNER> 7 namespace System.Reflection 8 { 9 using System; 10 // This Enum matchs the CorFieldAttr defined in CorHdr.h 11 [Serializable] 12 [Flags()] 13 [System.Runtime.InteropServices.ComVisible(true)] 14 public enum FieldAttributes 15 { 16 // member access mask - Use this mask to retrieve accessibility information. 17 FieldAccessMask = 0x0007, 18 PrivateScope = 0x0000, // Member not referenceable. 19 Private = 0x0001, // Accessible only by the parent type. 20 FamANDAssem = 0x0002, // Accessible by sub-types only in this Assembly. 21 Assembly = 0x0003, // Accessibly by anyone in the Assembly. 22 Family = 0x0004, // Accessible only by type and sub-types. 23 FamORAssem = 0x0005, // Accessibly by sub-types anywhere, plus anyone in assembly. 24 Public = 0x0006, // Accessibly by anyone who has visibility to this scope. 25 // end member access mask 26 27 // field contract attributes. 28 Static = 0x0010, // Defined on type, else per instance. 29 InitOnly = 0x0020, // Field may only be initialized, not written to after init. 30 Literal = 0x0040, // Value is compile time constant. 31 NotSerialized = 0x0080, // Field does not have to be serialized when type is remoted. 32 33 SpecialName = 0x0200, // field is special. Name describes how. 34 35 // interop attributes 36 PinvokeImpl = 0x2000, // Implementation is forwarded through pinvoke. 37 38 // Reserved flags for runtime use only. 39 ReservedMask = 0x9500, 40 RTSpecialName = 0x0400, // Runtime(metadata internal APIs) should check name encoding. 41 HasFieldMarshal = 0x1000, // Field has marshalling information. 42 HasDefault = 0x8000, // Field has default. 43 HasFieldRVA = 0x0100, // Field has RVA. 44 } 45 } 46