Class Generics::UnboundGenericMethod

An unbound generic method. This is a generic method whose signature involves formal type parameters, For example M<T> on line 2 in

class C {
  void M<T>() { ... }
}

Direct supertypes

Indirect supertypes

Predicates

getAConstructedGeneric

Gets a bound/constructed version of this unbound generic method. These correspond to the unbound generic method in the same way that bound/constructed types correspond to unbound generic types. (See the comments on UnboundGenericType for more information.)

toStringWithTypes

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

Inherited predicates

calls

Holds if callee is potentially called from this callable. That is, callee is a potential run-time target of a call in the body of this callable.

from Callable
canReturn

Holds if this callable can return expression e.

from Callable
canYieldReturn

Holds if this callable can yield return the expression e.

from Callable
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
fromLibrary

Holds if this element is from an assembly.

from Element
fromSource

Holds if this element is from source code.

from Method
getABody

Gets a body of this callable, if any.

from Callable
getACall

Gets a Call that has this callable as a target.

from Callable
getAChild

Gets a child of this element, if any.

from Element
getAChildExpr

Gets a child expression of this element, if any.

from ExprOrStmtParent
getAChildStmt

Gets a child statement of this element, if any.

from ExprOrStmtParent
getALocation

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

from Method
getAModifier

Gets a modifier of this declaration.

from Modifiable
getAParameterfrom Callable
getARawParameter

Gets a raw parameter (including the qualifier), if any.

from Callable
getAStatementBody

Gets a statement body of this callable, if any.

from Callable
getATypeParameter

Gets a type parameter, if any.

from UnboundGeneric
getAnAccess

Gets an access to this member.

from Member
getAnAttribute

Gets an attribute attached to this element, if any.

from Attributable
getAnExpressionBody

Gets an expression body of this callable (if any), specified by =>.

from Callable
getAnImplementor

Gets a member that immediately implements this interface member, if any.

from Method
getAnImplementor

Gets a member that immediately implements this interface member, if any.

from Virtualizable
getAnOverrider

Gets a member that immediately overrides this member, if any.

from Method
getAnUltimateImplementee

Gets an interface member that is (transitively) implemented by this member, if any. That is, either this member immediately implements the interface member, or this member overrides (transitively) another member that immediately implements the interface member.

from Method
getAnUltimateImplementor

Gets a member that (transitively) implements this interface member, if any. That is, either this interface member is immediately implemented by the result, or the result overrides (transitively) another member that immediately implements this interface member.

from Method
getBody

Gets the body of this callable, if any.

from Callable
getChild

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

from ExprOrStmtParent
getChildExpr

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

from ExprOrStmtParent
getChildStmt

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

from ExprOrStmtParent
getCyclomaticComplexity

Gets the number of branching statements (if, while, do, for, foreach switch, case, catch) plus the number of branching expressions (?, &&, ||, ??) plus one. Callables with a high cyclomatic complexity (> 10) are hard to test and maintain, given their large number of possible execution paths. They should be refactored.

from Callable
getDeclaringType

Gets the type containing this declaration, if any.

from Method
getEnclosingCallable

Gets the enclosing callable of this callable, if any.

from Callable
getEntryPoint

Gets the entry point in the control graph for this callable.

from Callable
getExitPoint

Gets the exit point in the control graph for this callable.

from Callable
getExplicitlyImplementedInterface

Gets any interface this member explicitly implements; this only applies to members that can be declared on an interface, i.e. methods, properties, indexers and events.

from Virtualizable
getExpressionBody

Gets the expression body of this callable (if any), specified by =>.

from Callable
getFile

Gets the file containing this element.

from Element
getImplementee

Gets the interface member that is immediately implemented by this member, if any.

from Method
getImplementee

Gets the interface member that is immediately implemented by this member, if any.

from Virtualizable
getIndex

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

from Element
getLabel

Gets a unique string label for this element.

from Callable
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, if any. Where an element has multiple locations (for example a source file and an assembly), gets only the source location.

from Element
getName

Gets the name of this method.

from Method
getNumberOfChildren

Gets the number of children of this element.

from Element
getNumberOfLines

Gets the total number of lines in this callable.

from Callable
getNumberOfLinesOfCode

Gets the number of lines containing code in this callable.

from Callable
getNumberOfLinesOfComments

Gets the number of lines containing comments in this callable.

from Callable
getNumberOfParametersfrom Callable
getNumberOfTypeParameters

Gets the total number of type parameters.

from UnboundGeneric
getOverridee

Gets the member that is immediately overridden by this member, if any.

from Method
getParameterfrom Callable
getParamsType

Gets the type of the params parameter of this method, if any.

from Method
getParent

Gets the parent of this element, if any.

from Element
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
getRawParameter

Gets raw parameter i, including the this parameter at index 0.

from Method
getReturnType

Gets the return type of this callable.

from Method
getSourceDeclaration

Gets the unbound version of this declaration.

from Method
getStatementBody

Gets the statement body of this callable, if any.

from Callable
getTypeParameter

Gets the ith type parameter, if any.

from UnboundGeneric
getUndecoratedName

Gets the name of this declaration, without additional decoration such as <...>.

from Callable
hasBody

Holds if this callable has a body or an implementation.

from Callable
hasExpressionBody

Holds if this callable has an expression body.

from Callable
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
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
hasNonEmptyBody

Holds if this callable has a non-empty body. That is, either it has an expression body, or it has a non-empty statement body.

from Callable
hasParams

Holds if this method has a params parameter.

from Method
hasQualifiedName

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

from Declaration
hasQualifiedName

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

from NamedElement
hasStatementBody

Holds if this callable has a statement body.

from Callable
implements

Holds if this member implements (transitively) an interface member.

from Virtualizable
implementsExplicitInterface

Holds if this member implements an interface member explicitly.

from Virtualizable
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
isExtensionMethod

Holds if this method is an extension method.

from Method
isExtern

Holds if this declaration is extern.

from Modifiable
isImplemented

Holds if this interface member is implemented by some other member.

from Virtualizable
isInternal

Holds if this declaration is internal.

from Modifiable
isNew

Holds if this declaration has the modifier new.

from Modifiable
isOverridableOrImplementable

Holds if this member can be overridden or implemented.

from Virtualizable
isOverridden

Holds if this member is overridden by some other member.

from Method
isOverride

Holds if this member has the modifier override.

from Virtualizable
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 Virtualizable
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
isVirtual

Holds if this member is virtual.

from Virtualizable
matchesHandle

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

from NamedElement
overrides

Holds if this member overrides another member.

from Virtualizable
overridesOrImplementsOrEquals

Holds if this member overrides or implements (reflexively, transitively) that member.

from Virtualizable
parameterTypesToString

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

from Parameterizable
returnsRef

Holds if this callable returns a ref.

from Callable
returnsRefReadonly

Holds if this callable returns a ref readonly.

from Callable
toString

Gets a textual representation of this element.

from Method
typeParametersToString

Gets the type parameters as a comma-separated string.

from UnboundGeneric