CorGenericParamAttr Enumeration

Contains values that describe the Type parameters for generic types, as used in calls to IMetaDataEmit2::DefineGenericParam.


typedef enum CorGenericParamAttr {  

    gpVarianceMask                     =   0x0003,  
    gpNonVariant                       =   0x0000,   
    gpCovariant                        =   0x0001,  
    gpContravariant                    =   0x0002,  

    gpSpecialConstraintMask            =   0x001C,  
    gpNoSpecialConstraint              =   0x0000,  
    gpReferenceTypeConstraint          =   0x0004,   
    gpNotNullableValueTypeConstraint   =   0x0008,  
    gpDefaultConstructorConstraint     =   0x0010  

} CorGenericParamAttr;  


Member Description
gpVarianceMask Parameter variance applies only to generic parameters for interfaces and delegates.
gpNonVariant Indicates the absence of variance.
gpCovariant Indicates covariance.
gpContravariant Indicates contravariance.
gpSpecialConstraintMask Special constraints can apply to any Type parameter.
gpNoSpecialConstraint Indicates that no constraint applies to the Type parameter.
gpReferenceTypeConstraint Indicates that the Type parameter must be a reference type.
gpNotNullableValueTypeConstraint Indicates that the Type parameter must be a value type that cannot be a null value.
gpDefaultConstructorConstraint Indicates that the Type parameter must have a default public constructor that takes no parameters.


Platforms: See System Requirements.

Header: CorHdr.h

.NET Framework Versions: Available since 2.0

See Also

Metadata Enumerations