using System; namespace System.Reflection { /// Describes the constraints on a generic type parameter of a generic type or method. // Token: 0x02000243 RID: 579 [Flags] public enum GenericParameterAttributes { /// 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: 0x04000A4F RID: 2639 Covariant = 1, /// The generic type parameter is contravariant. A contravariant type parameter can appear as a parameter type in method signatures. // Token: 0x04000A50 RID: 2640 Contravariant = 2, /// Selects the combination of all variance flags. This value is the result of using logical OR to combine the following flags: and . // Token: 0x04000A51 RID: 2641 VarianceMask = 3, /// There are no special flags. // Token: 0x04000A52 RID: 2642 None = 0, /// A type can be substituted for the generic type parameter only if it is a reference type. // Token: 0x04000A53 RID: 2643 ReferenceTypeConstraint = 4, /// A type can be substituted for the generic type parameter only if it is a value type and is not nullable. // Token: 0x04000A54 RID: 2644 NotNullableValueTypeConstraint = 8, /// A type can be substituted for the generic type parameter only if it has a parameterless constructor. // Token: 0x04000A55 RID: 2645 DefaultConstructorConstraint = 16, /// Selects the combination of all special constraint flags. This value is the result of using logical OR to combine the following flags: , , and . // Token: 0x04000A56 RID: 2646 SpecialConstraintMask = 28 } }