using System; using Cpp2IlInjected; namespace System.Reflection { /// Describes the constraints on a generic type parameter of a generic type or method. // Token: 0x02000222 RID: 546 [Token(Token = "0x2000222")] [Flags] public enum GenericParameterAttributes { /// There are no special flags. // Token: 0x04000A66 RID: 2662 [Token(Token = "0x4000A66")] None = 0, /// Selects the combination of all variance flags. This value is the result of using logical OR to combine the following flags: and . // Token: 0x04000A67 RID: 2663 [Token(Token = "0x4000A67")] VarianceMask = 3, /// The generic type parameter is covariant. A covariant type parameter can appear as the result type of a method, the type of a read-only field, a declared base type, or an implemented interface. // Token: 0x04000A68 RID: 2664 [Token(Token = "0x4000A68")] Covariant = 1, /// The generic type parameter is contravariant. A contravariant type parameter can appear as a parameter type in method signatures. // Token: 0x04000A69 RID: 2665 [Token(Token = "0x4000A69")] Contravariant = 2, /// Selects the combination of all special constraint flags. This value is the result of using logical OR to combine the following flags: , , and . // Token: 0x04000A6A RID: 2666 [Token(Token = "0x4000A6A")] SpecialConstraintMask = 28, /// A type can be substituted for the generic type parameter only if it is a reference type. // Token: 0x04000A6B RID: 2667 [Token(Token = "0x4000A6B")] ReferenceTypeConstraint = 4, /// A type can be substituted for the generic type parameter only if it is a value type and is not nullable. // Token: 0x04000A6C RID: 2668 [Token(Token = "0x4000A6C")] NotNullableValueTypeConstraint = 8, /// A type can be substituted for the generic type parameter only if it has a parameterless constructor. // Token: 0x04000A6D RID: 2669 [Token(Token = "0x4000A6D")] DefaultConstructorConstraint = 16 } }