using System; using Cpp2IlInjected; namespace System.Reflection { /// Describes the constraints on a generic type parameter of a generic type or method. // Token: 0x0200021B RID: 539 [Token(Token = "0x200021B")] [Flags] public enum GenericParameterAttributes { /// There are no special flags. // Token: 0x04000A5C RID: 2652 [Token(Token = "0x4000A5C")] 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: 0x04000A5D RID: 2653 [Token(Token = "0x4000A5D")] 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: 0x04000A5E RID: 2654 [Token(Token = "0x4000A5E")] Covariant = 1, /// The generic type parameter is contravariant. A contravariant type parameter can appear as a parameter type in method signatures. // Token: 0x04000A5F RID: 2655 [Token(Token = "0x4000A5F")] 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: 0x04000A60 RID: 2656 [Token(Token = "0x4000A60")] SpecialConstraintMask = 28, /// A type can be substituted for the generic type parameter only if it is a reference type. // Token: 0x04000A61 RID: 2657 [Token(Token = "0x4000A61")] ReferenceTypeConstraint = 4, /// A type can be substituted for the generic type parameter only if it is a value type and is not nullable. // Token: 0x04000A62 RID: 2658 [Token(Token = "0x4000A62")] NotNullableValueTypeConstraint = 8, /// A type can be substituted for the generic type parameter only if it has a parameterless constructor. // Token: 0x04000A63 RID: 2659 [Token(Token = "0x4000A63")] DefaultConstructorConstraint = 16 } }