using System; using System.Runtime.InteropServices; namespace System.Reflection { /// Specifies flags for the attributes of a method implementation. // Token: 0x0200024E RID: 590 [ComVisible(true)] [Serializable] public enum MethodImplAttributes { /// Specifies flags about code type. // Token: 0x04000A95 RID: 2709 CodeTypeMask = 3, /// Specifies that the method implementation is in Microsoft intermediate language (MSIL). // Token: 0x04000A96 RID: 2710 IL = 0, /// Specifies that the method implementation is native. // Token: 0x04000A97 RID: 2711 Native, /// Specifies that the method implementation is in Optimized Intermediate Language (OPTIL). // Token: 0x04000A98 RID: 2712 OPTIL, /// Specifies that the method implementation is provided by the runtime. // Token: 0x04000A99 RID: 2713 Runtime, /// Specifies whether the method is implemented in managed or unmanaged code. // Token: 0x04000A9A RID: 2714 ManagedMask, /// Specifies that the method is implemented in unmanaged code. // Token: 0x04000A9B RID: 2715 Unmanaged = 4, /// Specifies that the method is implemented in managed code. // Token: 0x04000A9C RID: 2716 Managed = 0, /// Specifies that the method is not defined. // Token: 0x04000A9D RID: 2717 ForwardRef = 16, /// Specifies that the method signature is exported exactly as declared. // Token: 0x04000A9E RID: 2718 PreserveSig = 128, /// Specifies an internal call. // Token: 0x04000A9F RID: 2719 InternalCall = 4096, /// Specifies that the method is single-threaded through the body. Static methods (Shared in Visual Basic) lock on the type, whereas instance methods lock on the instance. You can also use the C# lock statement or the Visual Basic Lock function for this purpose. // Token: 0x04000AA0 RID: 2720 Synchronized = 32, /// Specifies that the method cannot be inlined. // Token: 0x04000AA1 RID: 2721 NoInlining = 8, /// Specifies a range check value. // Token: 0x04000AA2 RID: 2722 MaxMethodImplVal = 65535 } }