using System; using System.Runtime.InteropServices; using Cpp2IlInjected; namespace System.Reflection { /// Defines the valid calling conventions for a method. // Token: 0x0200021E RID: 542 [Token(Token = "0x200021E")] [Flags] [ComVisible(true)] [Serializable] public enum CallingConventions { /// Specifies the default calling convention as determined by the common language runtime. Use this calling convention for static methods. For instance or virtual methods use . // Token: 0x04000A46 RID: 2630 [Token(Token = "0x4000A46")] Standard = 1, /// Specifies the calling convention for methods with variable arguments. // Token: 0x04000A47 RID: 2631 [Token(Token = "0x4000A47")] VarArgs = 2, /// Specifies that either the or the calling convention may be used. // Token: 0x04000A48 RID: 2632 [Token(Token = "0x4000A48")] Any = 3, /// Specifies an instance or virtual method (not a static method). At run-time, the called method is passed a pointer to the target object as its first argument (the pointer). The signature stored in metadata does not include the type of this first argument, because the method is known and its owner class can be discovered from metadata. // Token: 0x04000A49 RID: 2633 [Token(Token = "0x4000A49")] HasThis = 32, /// Specifies that the signature is a function-pointer signature, representing a call to an instance or virtual method (not a static method). If is set, must also be set. The first argument passed to the called method is still a pointer, but the type of the first argument is now unknown. Therefore, a token that describes the type (or class) of the pointer is explicitly stored into its metadata signature. // Token: 0x04000A4A RID: 2634 [Token(Token = "0x4000A4A")] ExplicitThis = 64 } }