![]() | ITypeParameterSymbol Interface |
Namespace: Microsoft.CodeAnalysis
The ITypeParameterSymbol type exposes the following members.
Name | Description | |
---|---|---|
![]() | AllInterfaces |
The list of all interfaces of which this type is a declared subtype, excluding this type
itself. This includes all declared base interfaces, all declared base interfaces of base
types, and all declared base interfaces of those results (recursively). This also is the effective
interface set of a type parameter. Each result
appears exactly once in the list. This list is topologically sorted by the inheritance
relationship: if interface type A extends interface type B, then A precedes B in the
list. This is not quite the same as "all interfaces of which this type is a proper
subtype" because it does not take into account variance: AllInterfaces for
IEnumerable<string> will not include IEnumerable<object>;
(Inherited from ITypeSymbol.) |
![]() | BaseType |
The declared base type of this type, or null. The object type, interface types,
and pointer types do not have a base type. The base type of a type parameter
is its effective base class.
(Inherited from ITypeSymbol.) |
![]() | CanBeReferencedByName |
Returns true if this symbol can be referenced by its name in code.
(Inherited from ISymbol.) |
![]() | ConstraintTypes |
The types that were directly specified as constraints on the type parameter.
|
![]() | ContainingAssembly |
Gets the IAssemblySymbol for the containing assembly. Returns null if the
symbol is shared across multiple assemblies.
(Inherited from ISymbol.) |
![]() | ContainingModule |
Gets the IModuleSymbol for the containing module. Returns null if the
symbol is shared across multiple modules.
(Inherited from ISymbol.) |
![]() | ContainingNamespace |
Gets the INamespaceSymbol for the nearest enclosing namespace. Returns null if the
symbol isn't contained in a namespace.
(Inherited from ISymbol.) |
![]() | ContainingSymbol |
Gets the ISymbol for the immediately containing symbol.
(Inherited from ISymbol.) |
![]() | ContainingType |
Gets the INamedTypeSymbol for the containing type. Returns null if the
symbol is not contained within a type.
(Inherited from ISymbol.) |
![]() | DeclaredAccessibility |
Gets a Accessibility indicating the declared accessibility for the symbol.
Returns NotApplicable if no accessibility is declared.
(Inherited from ISymbol.) |
![]() | DeclaringMethod |
The method that declares the type parameter, or null.
|
![]() | DeclaringSyntaxReferences |
Get the syntax node(s) where this symbol was declared in source. Some symbols (for example,
partial classes) may be defined in more than one location. This property should return
one or more syntax nodes only if the symbol was declared in source code and also was
not implicitly declared (see the IsImplicitlyDeclared property).
Note that for namespace symbol, the declaring syntax might be declaring a nested namespace.
For example, the declaring syntax node for N1 in "namespace N1.N2 {...}" is the entire
NamespaceDeclarationSyntax for N1.N2. For the global namespace, the declaring syntax will
be the CompilationUnitSyntax.
(Inherited from ISymbol.) |
![]() | DeclaringType |
The type that declares the type parameter, or null.
|
![]() | HasConstructorConstraint |
True if the parameterless constructor constraint (new()) was specified for the type parameter.
|
![]() | HasReferenceTypeConstraint |
True if the reference type constraint (class) was specified for the type parameter.
|
![]() | HasUnsupportedMetadata |
Indicates that this symbol uses metadata that cannot be supported by the language.
Examples include:
- Pointer types in VB
- ByRef return type
- Required custom modifiers
This is distinguished from, for example, references to metadata symbols defined in assemblies that weren't referenced.
Symbols where this returns true can never be used successfully, and thus should never appear in any IDE feature.
This is set for metadata symbols, as follows:
Type - if a type is unsupported (e.g., a pointer type, etc.)
Method - parameter or return type is unsupported
Field - type is unsupported
Event - type is unsupported
Property - type is unsupported
Parameter - type is unsupported
(Inherited from ISymbol.) |
![]() | HasValueTypeConstraint |
True if the value type constraint (struct)was specified for the type parameter.
|
![]() | Interfaces |
Gets the set of interfaces that this type directly implements. This set does not include
interfaces that are base interfaces of directly implemented interfaces. This does
include the interfaces declared as constraints on type parameters.
(Inherited from ITypeSymbol.) |
![]() | IsAbstract |
Gets a value indicating whether the symbol is abstract.
(Inherited from ISymbol.) |
![]() | IsAnonymousType |
Is this a symbol for an anonymous type (including anonymous VB delegate).
(Inherited from ITypeSymbol.) |
![]() | IsDefinition |
Gets a value indicating whether the symbol is the original definition. Returns false
if the symbol is derived from another symbol, by type substitution for instance.
(Inherited from ISymbol.) |
![]() | IsExtern |
Gets a value indicating whether the symbol is defined externally.
(Inherited from ISymbol.) |
![]() | IsImplicitlyDeclared |
Returns true if this symbol was automatically created by the compiler, and does not have
an explicit corresponding source code declaration.
(Inherited from ISymbol.) |
![]() | IsNamespace |
Returns true if this symbol is a namespace. If it is not a namespace, it must be a type.
(Inherited from INamespaceOrTypeSymbol.) |
![]() | IsOverride |
Gets a value indicating whether the symbol is an override of a base class symbol.
(Inherited from ISymbol.) |
![]() | IsReferenceType |
True if this type is known to be a reference type. It is never the case that
IsReferenceType and IsValueType both return true. However, for an unconstrained type
parameter, IsReferenceType and IsValueType will both return false.
(Inherited from ITypeSymbol.) |
![]() | IsSealed |
Gets a value indicating whether the symbol is sealed.
(Inherited from ISymbol.) |
![]() | IsStatic |
Gets a value indicating whether the symbol is static.
(Inherited from ISymbol.) |
![]() | IsTupleType |
Is this a symbol for a tuple .
(Inherited from ITypeSymbol.) |
![]() | IsType |
Returns true if this symbols is a type. If it is not a type, it must be a namespace.
(Inherited from INamespaceOrTypeSymbol.) |
![]() | IsValueType |
True if this type is known to be a value type. It is never the case that
IsReferenceType and IsValueType both return true. However, for an unconstrained type
parameter, IsReferenceType and IsValueType will both return false.
(Inherited from ITypeSymbol.) |
![]() | IsVirtual |
Gets a value indicating whether the symbol is virtual.
(Inherited from ISymbol.) |
![]() | Kind |
Gets the SymbolKind indicating what kind of symbol it is.
(Inherited from ISymbol.) |
![]() | Language |
Gets the source language ("C#" or "Visual Basic").
(Inherited from ISymbol.) |
![]() | Locations |
Gets the locations where the symbol was originally defined, either in source or
metadata. Some symbols (for example, partial classes) may be defined in more than one
location.
(Inherited from ISymbol.) |
![]() | MetadataName |
Gets the name of a symbol as it appears in metadata. Most of the time, this
is the same as the Name property, with the following exceptions:
1) The metadata name of generic types includes the "`1", "`2" etc. suffix that
indicates the number of type parameters (it does not include, however, names of
containing types or namespaces).
2) The metadata name of explicit interface names have spaces removed, compared to
the name property.
3) The length of names is limited to not exceed metadata restrictions.
(Inherited from ISymbol.) |
![]() | Name |
Gets the symbol name. Returns the empty string if unnamed.
(Inherited from ISymbol.) |
![]() | Ordinal |
The ordinal position of the type parameter in the parameter list which declares
it. The first type parameter has ordinal zero.
|
![]() | OriginalDefinition |
Get the original definition of this type symbol. If this symbol is derived from another
symbol by (say) type substitution, this gets the original symbol, as it was defined in
source or metadata.
|
![]() | ReducedFrom |
If this is a type parameter of a reduced extension method, gets the type parameter definition that
this type parameter was reduced from. Otherwise, returns Nothing.
|
![]() | SpecialType |
An enumerated value that identifies certain 'special' types such as Object.
Returns None if the type is not special.
(Inherited from ITypeSymbol.) |
![]() | TypeKind |
An enumerated value that identifies whether this type is an array, pointer, enum, and so on.
(Inherited from ITypeSymbol.) |
![]() | TypeParameterKind |
The type parameter kind of this type parameter.
|
![]() | Variance |
The variance annotation, if any, of the type parameter declaration. Type parameters may be
declared as covariant (out), contravariant (in), or neither.
|
Name | Description | |
---|---|---|
![]() | Accept(SymbolVisitor) | (Inherited from ISymbol.) |
![]() | AcceptTResult(SymbolVisitorTResult) | (Inherited from ISymbol.) |
![]() | FindImplementationForInterfaceMember |
Returns the corresponding symbol in this type or a base type that implements
interfaceMember (either implicitly or explicitly), or null if no such symbol exists
(which might be either because this type doesn't implement the container of
interfaceMember, or this type doesn't supply a member that successfully implements
interfaceMember).
(Inherited from ITypeSymbol.) |
![]() | GetAttributes |
Gets the attributes for the symbol. Returns an empty IEnumerableT
if there are no attributes.
(Inherited from ISymbol.) |
![]() | GetDocumentationCommentId |
Returns the Documentation Comment ID for the symbol, or null if the symbol doesn't
support documentation comments.
(Inherited from ISymbol.) |
![]() | GetDocumentationCommentXml |
Gets the XML (as text) for the comment associated with the symbol.
(Inherited from ISymbol.) |
![]() | GetMembers |
Get all the members of this symbol.
(Inherited from INamespaceOrTypeSymbol.) |
![]() | GetMembers(String) |
Get all the members of this symbol that have a particular name.
(Inherited from INamespaceOrTypeSymbol.) |
![]() | GetTypeMembers |
Get all the members of this symbol that are types.
(Inherited from INamespaceOrTypeSymbol.) |
![]() | GetTypeMembers(String) |
Get all the members of this symbol that are types that have a particular name, of any arity.
(Inherited from INamespaceOrTypeSymbol.) |
![]() | GetTypeMembers(String, Int32) |
Get all the members of this symbol that are types that have a particular name and arity
(Inherited from INamespaceOrTypeSymbol.) |
![]() | ToDisplayParts |
Convert a symbol to an array of string parts, each of which has a kind. Useful for
colorizing the display string.
(Inherited from ISymbol.) |
![]() | ToDisplayString |
Converts the symbol to a string representation.
(Inherited from ISymbol.) |
![]() | ToMinimalDisplayParts |
Convert a symbol to an array of string parts, each of which has a kind. May be tailored
to a specific location in the source code. Useful for colorizing the display string.
(Inherited from ISymbol.) |
![]() | ToMinimalDisplayString |
Convert a symbol to a string that can be displayed to the user. May be tailored to a
specific location in the source code.
(Inherited from ISymbol.) |
Name | Description | |
---|---|---|
![]() | GetRootOperation | (Defined by OperationExtensions.) |
![]() | IsMustOverride | (Defined by VisualBasicExtensions.) |
![]() | IsNotOverridable | (Defined by VisualBasicExtensions.) |
![]() | IsOverridable | (Defined by VisualBasicExtensions.) |
![]() | IsOverrides | (Defined by VisualBasicExtensions.) |
![]() | IsShared |
Determines if symbol is Shared.
(Defined by VisualBasicExtensions.) |