Class Generics::UnboundGenericDelegateType

An unbound generic delegate type. (See the comments on UnboundGenericType for more information.)

For example

delegate void F<T>(T t);

Direct supertypes

Indirect supertypes

Known direct subtypes

Predicates

getAConstructedGeneric

Gets a bound/constructed version of this unbound generic type. This includes not only closed constructed types such as G<int>, but also open constructed types such as the G<T> in class Other<T> { G<T> g; }. Note that such a type is distinct from the G<T> used in the class definition, since in G<T> g; the T will be the actual type parameter used for the Other that contains g, whereas in class G<T> { ... } the T is a formal type parameter of G. It is important not to get confused by the superficial syntactic similarity.

getInstanceType

Gets the instance type of this type. For an unbound generic type, the instance type is a constructed type created from the unbound type, with each of the supplied type arguments being the corresponding type parameter.

getSourceDeclaration

Gets the unbound version of this declaration.

toStringWithTypes

Gets the full textual representation of this element, including type information.

Inherited predicates

compiledFromSource

Holds if this element was compiled from source code that is also present in the database. That is, this element corresponds to another element from source.

from NamedElement
containsTypeParameters

Holds if this type contains one or more type parameters.

from Type
fromLibrary

Holds if this element is from an assembly.

from Element
fromSource

Holds if this element is from source code.

from Element
getABaseInterface

Gets an immediate base interface of this type, if any.

from ValueOrRefType
getABaseType

Gets an immediate base type of this type, if any.

from ValueOrRefType
getAChild

Gets a child of this element, if any.

from Type
getAChildType

Gets a nested child type, if any.

from ValueOrRefType
getAConstant

Gets a member constant of this type, if any.

from ValueOrRefType
getAConstructor

Gets a static or instance constructor of this type, if any.

from ValueOrRefType
getADepth

Gets the length of some path to the root of the hierarchy.

from ValueOrRefType
getAField

Gets a field (or member constant) of this type, if any.

from ValueOrRefType
getALocation

Gets a location of this element, including sources and assemblies.

from UnboundGenericType
getAMember

Gets a member of this type, if any.

from ValueOrRefType
getAMember

Gets a member of this type with the given name.

from ValueOrRefType
getAMethod

Gets a method of this type, if any.

from ValueOrRefType
getAMethod

Gets a method of this type with the given name.

from ValueOrRefType
getAModifier

Gets a modifier of this declaration.

from Modifiable
getANestedType

Gets a nested type of this type, if any.

from ValueOrRefType
getAParameter

Gets a parameter of this declaration, if any.

from Parameterizable
getAProperty

Gets a property of this type, if any.

from ValueOrRefType
getASubType

Gets an immediate subtype of this type, if any.

from ValueOrRefType
getATypeParameter

Gets a type parameter, if any.

from UnboundGeneric
getAfferentCoupling

Gets the number of types that directly depend on this type.

from ValueOrRefType
getAnAccess

Gets an access to this member.

from Member
getAnAttribute

Gets an attribute attached to this element, if any.

from Attributable
getAnEvent

Gets an event of this type, if any.

from ValueOrRefType
getAnIndexer

Gets an indexer of this type, if any.

from ValueOrRefType
getAnOperator

Gets a user-defined operator of this type, if any.

from ValueOrRefType
getAnnotatedReturnType

Gets the annotated return type of this delegate.

from DelegateType
getBaseClass

Gets the immediate base class of this class, if any.

from ValueOrRefType
getChild

Gets the ith child of this element (zero-based).

from UnboundGenericType
getDeclaringNamespace

Gets the namespace declaring this type, if any.

from ValueOrRefType
getDeclaringType

Gets the type containing this declaration, if any.

from ValueOrRefType
getEfferentCoupling

Gets the number of types that this type directly depends upon.

from ValueOrRefType
getFile

Gets the file containing this element.

from Element
getIndex

Gets the index of this element among its parent’s other children (zero-based).

from Element
getInheritanceDepth

Gets the depth of inheritance, which is the maximum distance from object in the type hierarchy. Types that are very deeply nested may be difficult to maintain.

from ValueOrRefType
getLabel

Gets a unique string label for this element.

from ValueOrRefType
getLackOfCohesionCK

Gets the Chidamber and Kemerer lack of cohesion metric.

from ValueOrRefType
getLackOfCohesionHS

Gets the Henderson-Sellers lack of cohesion metric.

from ValueOrRefType
getLanguage

Gets the “language” of this program element, as defined by the extension of the filename. For example, C# has language “cs”, and Visual Basic has language “vb”.

from Element
getLocation

Gets the location of this element. Where an element has locations in source and assemblies, choose the source location. If there are multiple assembly locations, choose only one.

from Element
getName

Gets the name of this element.

from Type
getNameWithoutBrackets

Gets the name of this generic type without the <...> brackets.

from UnboundGenericType
getNamespace

Gets the namespace containing this type.

from ValueOrRefType
getNumberOfAncestors

Gets the number of (direct or indirect) base types.

from ValueOrRefType
getNumberOfCallables

Gets the number of callables in this type.

from ValueOrRefType
getNumberOfChildren

Gets the number of children of this element.

from Element
getNumberOfParameters

Gets the number of parameters of this declaration.

from Parameterizable
getNumberOfTypeParameters

Gets the total number of type parameters.

from UnboundGeneric
getNumberOverridden

Gets the number of overridden methods (NORM) of this reference type.

from RefType
getParameter

Gets the ith parameter of this declaration.

from Parameterizable
getParent

Gets the parent of this element, if any.

from Element
getParentNamespaceDeclaration

Gets the source namespace declaration in which this type is declared, if any. This only holds for non-nested types.

from ValueOrRefType
getProperty

Gets a named property of this type.

from ValueOrRefType
getQualifiedName

Gets the fully qualified name of this element, for example the fully qualified name of M on line 3 is N.C.M in

from NamedElement
getQualifiedNameWithTypes

Gets the fully qualified name of this declaration, including types, for example the fully qualified name with types of M on line 3 is N.C.M(int, string) in

from Declaration
getResponse

Gets the response of this type, which is defined as the total number of callables invoked by this type. This is computed as the total number of calls made by callables in this type, excluding member accesses.

from ValueOrRefType
getReturnType

Gets the return type of this delegate.

from DelegateType
getSpecialisationIndex

Gets the specialization index of this type.

from RefType
getStaticConstructor

Gets the static constructor of this type, if any.

from ValueOrRefType
getTypeParameter

Gets the ith type parameter, if any.

from UnboundGeneric
getUndecoratedName

Gets the name of this type without additional syntax such as [], *, or <...>.

from ValueOrRefType
hasCallable

Holds if this type has callable c, that is, either c is declared in this type, or c is inherited by this type.

from ValueOrRefType
hasLocationInfo

Holds if this element is at the specified location. The location spans column startcolumn of line startline to column endcolumn of line endline in file filepath. For more information, see Locations.

from Attributable
hasMember

Holds if this type has member m, that is, either m is declared in this type, or m is inherited by this type.

from ValueOrRefType
hasMethod

Holds if this type has method m, that is, either m is declared in this type, or m is inherited by this type.

from ValueOrRefType
hasModifier

Holds if this declaration has name as a modifier.

from Modifiable
hasName

Holds if this element has name ‘name’.

from NamedElement
hasNoParameters

Holds if this declaration has no parameters.

from Parameterizable
hasQualifiedName

Holds if this element has qualified name qualifiedName, for example System.Console.WriteLine.

from NamedElement
hasQualifiedName

Holds if this type has the qualified name qualifier.name.

from ValueOrRefType
isAbstract

Holds if this declaration is abstract.

from Modifiable
isAsync

Holds if this declaration is async.

from Modifiable
isCompilerGenerated

Holds if this declaration has been generated by the compiler, for example implicit constructors or accessors.

from Declaration
isConst

Holds if this declaration is const.

from Modifiable
isEffectivelyInternal

Holds if this declaration is effectively internal (either directly or because one of the enclosing types is internal).

from Modifiable
isEffectivelyPrivate

Holds if this declaration is effectively private (either directly or because one of the enclosing types is private).

from Modifiable
isEffectivelyPublic

Holds if this declaration is effectively public, because it and all enclosing types are public.

from Modifiable
isExtern

Holds if this declaration is extern.

from Modifiable
isImplicitlyConvertibleTo

Holds if this type is implicitly convertible to that type.

from Type
isInternal

Holds if this declaration is internal.

from Modifiable
isNew

Holds if this declaration has the modifier new.

from Modifiable
isPartial

Holds if this declaration is partial.

from Modifiable
isPrivate

Holds if this declaration is private.

from Modifiable
isProtected

Holds if this declaration is protected.

from Modifiable
isPublic

Holds if this declaration is public.

from Modifiable
isRefType

Holds if this type is a reference type, or a type parameter that is a reference type.

from RefType
isSealed

Holds if this declaration is sealed.

from Modifiable
isSourceDeclaration

Holds if this declaration is unconstructed and in source code.

from Declaration
isStatic

Holds if this declaration is static.

from Modifiable
isUnsafe

Holds if this declaration is unsafe.

from Modifiable
isValueType

Holds if this type is a value type, or a type parameter that is a value type.

from Type
matchesHandle

Holds if other has the same metadata handle in the same assembly.

from NamedElement
parameterTypesToString

Gets the types of the parameters of this declaration as a comma-separated string.

from Parameterizable
returnsRef

Holds if this delegate returns a ref.

from DelegateType
returnsRefReadonly

Holds if this delegate returns a ref readonly.

from DelegateType
toString

Gets a textual representation of this element.

from ValueOrRefType
typeParametersToString

Gets the type parameters as a comma-separated string.

from UnboundGeneric