PostSharp SDK6.6//Post­Sharp.​Sdk.​Code­Model Namespace/Generic­Parameter­Declaration Class

GenericParameterDeclaration Class

Represents a generic parameter (GenericParam).
Inheritance Hierarchy

Namespace:  PostSharp.Sdk.CodeModel
Assembly:  PostSharp.Compiler.Engine (in PostSharp.Compiler.Engine.dll) Version: 6.6.3.0 (6.6.3.0)
Syntax
C#
public sealed class GenericParameterDeclaration : NamedMetadataDeclaration, 
	ITypeSignature, IModuleElement, IVisitable<ITypeSignature>, IGeneric, 
	IEquatable<ITypeSignature>, IWriteReflectionName, IPositioned, IGenericParameter, 
	ICloneableModuleElement

The GenericParameterDeclaration type exposes the following members.

Constructors
  NameDescription
Public methodGenericParameterDeclaration
Initializes a new GenericParameterDeclaration.
Properties
  NameDescription
Public propertyAttributes
Gets or sets the attributes of the generic parameter.
Public propertyCustomDebuggingInformation (Inherited from Declaration.)
Public propertyDeclaringGenericDefinition
Gets the IGenericDefinition that declares the current generic parameter.
Public propertyIsOriginal
Determines whether the current declaration existed in the source assembly.
(Inherited from MetadataDeclaration.)
Public propertyKind
Gets the kind of generic parameters (Type or Method).
Public propertyMetadataToken
Gets or sets the token of the current declaration.
(Inherited from MetadataDeclaration.)
Public propertyName
Gets or sets the name of the current declaration.
(Inherited from NamedMetadataDeclaration.)
Public propertyOrdinal
Gets or sets the generic parameter ordinal.
Public propertyOriginalDeclaration
When the declaration represents another declaration in the source assembly, this property refers to this declaration. When using GetReflectionObject(Type[], Type[], BindingOptions), the original declaration should actually be retrieved.
(Inherited from MetadataDeclaration.)
Public propertyOriginalName (Inherited from NamedMetadataDeclaration.)
Public propertyParentMember
Gets the parent member of the current declaration.
(Overrides MetadataDeclaration.ParentMember.)
Public propertyParentType
Gets the parent type of the current declaration.
(Overrides MetadataDeclaration.ParentType.)
Methods
  NameDescription
Public methodClearCache
Clear the cache (typically mapping to System.Reflection or, if the current element is a reference, to the related definition) of the current Element and all its children.
(Inherited from Element.)
Public methodClone
Clones the current instance and makes the clone compatible within a given module.
Public methodDispose Obsolete. (Inherited from MetadataDeclaration.)
Public methodEquals(Object)
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodEquals(ITypeSignature)
Indicates whether the current object is equal to another object of the same type.
Public methodEquals(GenericParameterDeclaration, Boolean)
Compares the current GenericParameterDeclaration with an other.
Public methodGetCanonicalHashCode
Gets a hash code that is invariant under type signature equality (i.e. if two types are equal under IEquatable<T>, they have the same canonical hash code).
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetReference
Gets the GenericParameterTypeSignature that references to the current instance.
Public methodGetSystemType(Type[], Type[])
Gets the system, runtime Type corresponding to the current type.
Public methodGetSystemType(Type[], Type[], BindingOptions)
Gets the system, runtime Type corresponding to the current type.
Public methodGetTag<T>
Gets a tag associated with the current declaration.
(Inherited from MetadataDeclaration.)
Public methodGetTokenType
Gets the TokenType of the derived declaration.
(Overrides MetadataDeclaration.GetTokenType().)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetValueSize
Gets the size of the value type.
Public methodIsValidArgument
Public methodIsValueTypeSafe
Public methodMapGenericArguments
Resolves all generic arguments in the current type signature.
Public methodMatchesReference
Determines whether the current type signature matches a given type signature.
Public methodSetTag<T>
Set a tag to the current declaration.
(Inherited from MetadataDeclaration.)
Public methodToString (Overrides NamedMetadataDeclaration.ToString().)
Public methodTranslateType
Translates the current type signature so that it is meaningful in another module than the one to which it primarily belong.
Public methodWriteReflectionName(StringBuilder, ReflectionNameOptions)
Writes the name of the current declaration to a StringBuilder.
Public methodWriteReflectionName(StringBuilder, ReflectionNameOptions, NameMapper)
Writes the name of the current declaration to a StringBuilder and specifies a NameMapper.
Extension Methods
  NameDescription
Public Extension MethodFindMethod(IMethod)Overloaded. (Defined by TypeSignatureExtensions.)
Public Extension MethodFindMethod(String, IMethodSignature, BindingOptions)Overloaded. (Defined by TypeSignatureExtensions.)
Public Extension MethodGetAssignmentDistance(ITypeSignature)Overloaded. (Defined by TypeSignatureExtensions.)
Public Extension MethodGetAssignmentDistance(ITypeSignature, GenericMap)Overloaded. (Defined by TypeSignatureExtensions.)
Public Extension MethodGetDisplayName
Gets the name of a given declaration as it should be displayed to the user.
(Defined by WriteReflectionNameExtensions.)
Public Extension MethodGetReflectionName()Overloaded.
Gets the name of a given declaration and returns a string that is compatible with the result of the ToString method of system reflection objects.
(Defined by WriteReflectionNameExtensions.)
Public Extension MethodGetReflectionName(ReflectionNameOptions)Overloaded.
Gets the name of a given declaration and returns a string that is compatible with the result of the ToString method of system reflection objects.
(Defined by WriteReflectionNameExtensions.)
Public Extension MethodGetReflectionName(ReflectionNameOptions, NameMapper)Overloaded.
Gets the name of a given declaration, constructed using given options.
(Defined by WriteReflectionNameExtensions.)
Public Extension MethodIs<T> (Defined by TypeSignatureExtensions.)
Public Extension MethodIsAbstract (Defined by TypeSignatureExtensions.)
Public Extension MethodIsAssignableFromRuntimeType (Defined by TypeSignatureExtensions.)
Public Extension MethodIsAssignableFromRuntimeValue
Determines whether a given type signature can be assigned a given runtime value.
(Defined by TypeSignatureExtensions.)
Public Extension MethodIsAssignableTo(ITypeSignature)Overloaded.
Determines whether instances of the current type is assignable to locations of a specified type (i.e. whether the current type derives or implements this type).
(Defined by TypeSignatureExtensions.)
Public Extension MethodIsAssignableTo(ITypeSignature, GenericMap)Overloaded.
Determines whether instances of the current type is assignable to locations of a specified type (i.e. whether the current type derives or implements this type) and specifies a GenericMap.
(Defined by TypeSignatureExtensions.)
Public Extension MethodIsAssignableToRuntimeType (Defined by TypeSignatureExtensions.)
Public Extension MethodIsByRef (Defined by TypeSignatureExtensions.)
Public Extension MethodIsDelegate (Defined by TypeSignatureExtensions.)
Public Extension MethodIsEnum (Defined by TypeSignatureExtensions.)
Public Extension MethodIsInterface (Defined by TypeSignatureExtensions.)
Public Extension MethodIsIntrinsic (Defined by TypeSignatureExtensions.)
Public Extension MethodIsNullable
Determines whether a given type signature can be assigned a null value.
(Defined by TypeSignatureExtensions.)
Public Extension MethodIsPointer(Nullable<Boolean>)Overloaded. (Defined by TypeSignatureExtensions.)
Public Extension MethodIsPointer(Nullable<Boolean>, PointerTypeSignature)Overloaded. (Defined by TypeSignatureExtensions.)
Public Extension MethodIsValueType (Defined by TypeSignatureExtensions.)
Public Extension MethodToType (Defined by TypeSignatureExtensions.)
Remarks
Generic parameters are owned by types (TypeDefDeclaration) or methods (MethodDefDeclaration).
See Also