Freigeben über


ITypeParameterSymbol Schnittstelle

Definition

Stellt einen Typparameter in einem generischen Typ oder einer generischen Methode dar.

public interface class ITypeParameterSymbol : IEquatable<Microsoft::CodeAnalysis::ISymbol ^>, Microsoft::CodeAnalysis::ITypeSymbol
public interface ITypeParameterSymbol : IEquatable<Microsoft.CodeAnalysis.ISymbol>, Microsoft.CodeAnalysis.ITypeSymbol
type ITypeParameterSymbol = interface
    interface ITypeSymbol
    interface INamespaceOrTypeSymbol
    interface ISymbol
    interface IEquatable<ISymbol>
Public Interface ITypeParameterSymbol
Implements IEquatable(Of ISymbol), ITypeSymbol
Implementiert

Hinweise

Diese Schnittstelle ist für die Implementierung durch die zugehörigen APIs reserviert. Wir behalten uns das Recht vor, diese in Zukunft zu ändern.

Eigenschaften

AllInterfaces

Die Liste aller Schnittstellen, von denen dieser Typ ein deklarierter Untertyp ist, mit Ausnahme dieses Typs selbst. Dies umfasst alle deklarierten Basisschnittstellen, alle deklarierten Basisschnittstellen von Basistypen und alle deklarierten Basisschnittstellen dieser Ergebnisse (rekursiv). Dies ist auch der effektive Schnittstellensatz eines Typparameters. Jedes Ergebnis wird genau einmal in der Liste angezeigt. Diese Liste ist toplogisch nach der Vererbungsbeziehung sortiert: Wenn der Schnittstellentyp A den Schnittstellentyp B erweitert, ist A in der Liste vor B. Dies ist nicht ganz identisch mit "alle Schnittstellen, von denen dieser Typ ein richtiger Untertyp ist", da die Varianz nicht berücksichtigt wird: AllInterfaces for IEnumerable-Zeichenfolge<> enthält kein IEnumerable-Objekt<>.

(Geerbt von ITypeSymbol)
BaseType

Der deklarierte Basistyp dieses Typs oder NULL. Die Objekttypen, Schnittstellentypen und Zeigertypen verfügen nicht über einen Basistyp. Der Basistyp eines Typparameters ist seine effektive Basisklasse.

(Geerbt von ITypeSymbol)
CanBeReferencedByName

Gibt true zurück, wenn auf dieses Symbol durch seinen Namen im Code verwiesen werden kann.

(Geerbt von ISymbol)
ConstraintNullableAnnotations

Die NULL-Fähigkeiten der obersten Ebene, die direkt als Einschränkungen für die Einschränkungstypen angegeben wurden.

ConstraintTypes

Die Typen, die direkt als Einschränkungen für den Typparameter angegeben wurden.

ContainingAssembly

Ruft die IAssemblySymbol für die enthaltende Assembly ab. Gibt NULL zurück, wenn das Symbol für mehrere Assemblys freigegeben wird.

(Geerbt von ISymbol)
ContainingModule

Ruft das IModuleSymbol für das enthaltende Modul ab. Gibt NULL zurück, wenn das Symbol für mehrere Module freigegeben wird.

(Geerbt von ISymbol)
ContainingNamespace

Ruft den INamespaceSymbol für den nächstgelegenen umschließenden Namespace ab. Gibt NULL zurück, wenn das Symbol nicht in einem Namespace enthalten ist.

(Geerbt von ISymbol)
ContainingSymbol

Ruft das ISymbol für das sofort enthaltende Symbol ab.

(Geerbt von ISymbol)
ContainingType

Ruft den INamedTypeSymbol für den enthaltenden Typ ab. Gibt NULL zurück, wenn das Symbol nicht in einem Typ enthalten ist.

(Geerbt von ISymbol)
DeclaredAccessibility

Ruft einen Accessibility ab, der die deklarierte Barrierefreiheit für das Symbol angibt. Gibt NotApplicable zurück, wenn keine Barrierefreiheit deklariert ist.

(Geerbt von ISymbol)
DeclaringMethod

Die Methode, die den Typparameter oder NULL deklariert.

DeclaringSyntaxReferences

Rufen Sie die Syntaxknoten ab, auf denen dieses Symbol in der Quelle deklariert wurde. Einige Symbole (z. B. partielle Klassen) können an mehreren Speicherorten definiert werden. Diese Eigenschaft sollte nur einen oder mehrere Syntaxknoten zurückgeben, wenn das Symbol im Quellcode deklariert und auch nicht implizit deklariert wurde (siehe isImplicitlyDeclared-Eigenschaft).

Beachten Sie, dass die deklarierende Syntax für das Namespacesymbol möglicherweise einen geschachtelten Namespace deklariert. Beispielsweise der deklarierende Syntaxknoten für N1 in "namespace N1. N2 {...}" ist die gesamte NamespaceDeclarationSyntax für N1. N2. Für den globalen Namespace ist die deklarierende Syntax die CompilationUnitSyntax.

(Geerbt von ISymbol)
DeclaringType

Der Typ, der den Typparameter oder NULL deklariert.

HasConstructorConstraint

True, wenn die parameterlose Konstruktoreinschränkung (new()) für den Typparameter angegeben wurde.

HasNotNullConstraint

True, wenn die Notnull-Einschränkung (notnull) für den type-Parameter angegeben wurde.

HasReferenceTypeConstraint

True, wenn die Verweistypeinschränkung (class) für den Typparameter angegeben wurde.

HasUnmanagedTypeConstraint

True, wenn die Werttypeinschränkung (unmanaged) für den Typparameter angegeben wurde.

HasUnsupportedMetadata

Gibt an, dass dieses Symbol Metadaten verwendet, die von der Sprache nicht unterstützt werden können.

Beispiele:

  • Zeigertypen in VB
  • ByRef-Rückgabetyp
  • Erforderliche benutzerdefinierte Modifizierer

Dies unterscheidet sich beispielsweise von Verweisen auf Metadatensymbole, die in Assemblys definiert sind, auf die nicht verwiesen wurde. Symbole, bei denen true zurückgegeben wird, können nie erfolgreich verwendet werden und sollten daher in keinem IDE-Feature angezeigt werden.

Dies wird für Metadatensymbole wie folgt festgelegt:

  • Typ: Wenn ein Typ nicht unterstützt wird (z. B. ein Zeigertyp)
  • Methode: Parameter oder Rückgabetyp wird nicht unterstützt
  • Feld: Typ wird nicht unterstützt.
  • Ereignis: Typ wird nicht unterstützt
  • Eigenschaft: Typ wird nicht unterstützt
  • Parameter: Typ wird nicht unterstützt

(Geerbt von ISymbol)
HasValueTypeConstraint

True, wenn die Werttypeinschränkung (struct) für den Typparameter angegeben wurde.

Interfaces

Ruft den Satz von Schnittstellen ab, den dieser Typ direkt implementiert. Dieser Satz enthält keine Schnittstellen, die Basisschnittstellen von direkt implementierten Schnittstellen sind. Dies schließt die Schnittstellen ein, die als Einschränkungen für Typparameter deklariert werden.

(Geerbt von ITypeSymbol)
IsAbstract

Ruft einen Wert ab, der angibt, ob das Symbol abstrakt ist.

(Geerbt von ISymbol)
IsAnonymousType

Ist dies ein Symbol für einen anonymen Typ (einschließlich anonymer VB-Delegat).

(Geerbt von ITypeSymbol)
IsDefinition

Ruft einen Wert ab, der angibt, ob das Symbol die ursprüngliche Definition ist. Gibt false zurück, wenn das Symbol von einem anderen Symbol abgeleitet wird, durch Typersetzung für instance.

(Geerbt von ISymbol)
IsExtern

Ruft einen Wert ab, der angibt, ob das Symbol extern definiert ist.

(Geerbt von ISymbol)
IsImplicitlyDeclared

Gibt true zurück, wenn dieses Symbol automatisch vom Compiler erstellt wurde und keine explizite entsprechende Quellcodedeklaration aufweist.

(Geerbt von ISymbol)
IsNamespace

Gibt true zurück, wenn es sich bei diesem Symbol um einen Namespace handelt. Wenn es sich nicht um einen Namespace handelt, muss es sich um einen Typ handeln.

(Geerbt von INamespaceOrTypeSymbol)
IsNativeIntegerType

True, wenn der Typ eine native ganze Zahl darstellt. In C# werden die Durch die Sprachschlüsselwörter "nint" und "nuint" dargestellt.

(Geerbt von ITypeSymbol)
IsOverride

Ruft einen Wert ab, der angibt, ob das Symbol eine Überschreibung eines Basisklassensymbols ist.

(Geerbt von ISymbol)
IsReadOnly

True, wenn der Typ schreibgeschützt ist.

(Geerbt von ITypeSymbol)
IsRecord

Für Quellsymbole gilt true, wenn der Typ ein Datensatz ist. Bei Metadatensymbolen gilt true, wenn es sich bei dem Typ um einen Datensatz und einen Verweistyp handelt.

(Geerbt von ITypeSymbol)
IsReferenceType

True, wenn dieser Typ als Verweistyp bekannt ist. Es ist nie der Fall, dass IsReferenceType und IsValueType beide true zurückgeben. Für einen nicht eingeschränkten Typparameter IsReferenceTypeIsValueType wird jedoch false zurückgegeben.

(Geerbt von ITypeSymbol)
IsRefLikeType

True, wenn der Typ ref-like ist, d. h., er folgt Regeln, die mit CLR-By-Ref-Variablen vergleichbar sind. False, wenn der Typ nicht ref-like ist oder wenn die Sprache kein Konzept von ref-ähnlichen Typen hat.

(Geerbt von ITypeSymbol)
IsSealed

Ruft einen Wert ab, der angibt, ob das Symbol versiegelt ist.

(Geerbt von ISymbol)
IsStatic

Ruft einen Wert ab, der angibt, ob das Symbol statisch ist.

(Geerbt von ISymbol)
IsTupleType

Ist dies ein Symbol für ein Tupel .

(Geerbt von ITypeSymbol)
IsType

Gibt true zurück, wenn es sich bei diesen Symbolen um einen Typ handelt. Wenn es sich nicht um einen Typ handelt, muss es sich um einen Namespace handeln.

(Geerbt von INamespaceOrTypeSymbol)
IsUnmanagedType

True, wenn der Typ gemäß den Sprachregeln nicht verwaltet wird. False, wenn verwaltet wird oder wenn die Sprache kein Konzept von nicht verwalteten Typen hat.

(Geerbt von ITypeSymbol)
IsValueType

True, wenn dieser Typ als Werttyp bekannt ist. Es ist nie der Fall, dass IsReferenceType und IsValueType beide true zurückgeben. Für einen nicht eingeschränkten Typparameter IsReferenceTypeIsValueType wird jedoch false zurückgegeben.

(Geerbt von ITypeSymbol)
IsVirtual

Ruft einen Wert ab, der angibt, ob das Symbol virtuell ist.

(Geerbt von ISymbol)
Kind

Ruft das SymbolKind ab, das angibt, um welche Art von Symbol es sich handelt.

(Geerbt von ISymbol)
Language

Ruft die Quellsprache ("C#" oder "Visual Basic") ab.

(Geerbt von ISymbol)
Locations

Ruft die Speicherorte ab, an denen das Symbol ursprünglich definiert wurde, entweder in der Quelle oder in den Metadaten. Einige Symbole (z. B. partielle Klassen) können an mehreren Speicherorten definiert werden.

(Geerbt von ISymbol)
MetadataName

Ruft den Namen eines Symbols ab, wie er in Metadaten angezeigt wird. In den meisten Jahren ist dies mit der Name-Eigenschaft identisch, mit den folgenden Ausnahmen:

  1. Der Metadatenname generischer Typen enthält das Suffix "'1", "'2" usw., das die Anzahl der Typparameter angibt (es enthält jedoch keine Namen von enthaltenden Typen oder Namespaces).
  2. Für den Metadatennamen expliziter Schnittstellennamen wurden Leerzeichen im Vergleich zur name-Eigenschaft entfernt.
  3. Die Länge von Namen ist auf die Metadateneinschränkungen beschränkt.
(Geerbt von ISymbol)
MetadataToken

Ruft das diesem Symbol zugeordnete Metadatentoken ab, oder 0, wenn das Symbol nicht aus Metadaten geladen wird.

(Geerbt von ISymbol)
Name

Ruft den Symbolnamen ab. Gibt die leere Zeichenfolge zurück, wenn sie nicht benannt ist.

(Geerbt von ISymbol)
NullableAnnotation

Nullable-Anmerkung, die dem Typ zugeordnet ist, oder None wenn keine vorhanden ist.

(Geerbt von ITypeSymbol)
Ordinal

Die Ordnungsposition des Typparameters in der Parameterliste, die ihn deklariert. Der erste Typparameter hat die Ordnungszahl null.

OriginalDefinition

Rufen Sie die ursprüngliche Definition dieses Typsymbols ab. Wenn dieses Symbol von einem anderen Symbol durch (z. B.) Typersetzung abgeleitet wird, ruft dies das ursprüngliche Symbol ab, wie es in der Quelle oder in den Metadaten definiert wurde.

ReducedFrom

Wenn dies ein Typparameter einer reduzierten Erweiterungsmethode ist, ruft die Typparameterdefinition ab, aus der dieser Typparameter reduziert wurde. Andernfalls wird Nothing zurückgegeben.

ReferenceTypeConstraintNullableAnnotation

Wenn HasReferenceTypeConstraint true ist, gibt die NULL-Zulässigkeit der obersten Ebene der class Einschränkung zurück, die für den Typparameter angegeben wurde. Wenn keine class Einschränkung vorhanden ist, wird zurückgegeben None.

SpecialType

Ein aufgezählter Wert, der bestimmte "spezielle" Typen identifiziert, z. B Object. . Gibt zurück None , wenn der Typ nicht speziell ist.

(Geerbt von ITypeSymbol)
TypeKind

Ein aufgezählter Wert, der angibt, ob es sich bei diesem Typ um ein Array, einen Zeiger, eine Enumeration usw. handelt.

(Geerbt von ITypeSymbol)
TypeParameterKind

Der Typparametertyp dieses Typparameters.

Variance

Die Varianzanmerkung, falls vorhanden, der Typparameterdeklaration. Typparameter können als kovariant (out), kontravariant (in) oder als weder deklariert werden.

Methoden

Accept(SymbolVisitor)

Stellt einen Typparameter in einem generischen Typ oder einer generischen Methode dar.

(Geerbt von ISymbol)
Accept<TArgument,TResult>(SymbolVisitor<TArgument,TResult>, TArgument)

Stellt einen Typparameter in einem generischen Typ oder einer generischen Methode dar.

(Geerbt von ISymbol)
Accept<TResult>(SymbolVisitor<TResult>)

Stellt einen Typparameter in einem generischen Typ oder einer generischen Methode dar.

(Geerbt von ISymbol)
Equals(ISymbol, SymbolEqualityComparer)

Bestimmt, ob dieses Symbol gleich einem anderen ist, gemäß den Regeln der bereitgestellten SymbolEqualityComparer

(Geerbt von ISymbol)
FindImplementationForInterfaceMember(ISymbol)

Gibt das entsprechende Symbol in diesem Typ oder einen Basistyp zurück, der interfaceMember implementiert (implizit oder explizit), oder NULL, wenn kein solches Symbol vorhanden ist (was entweder daran liegen kann, dass dieser Typ den Container von interfaceMember nicht implementiert oder dieser Typ keinen Member bereitstellt, der interfaceMember erfolgreich implementiert).

(Geerbt von ITypeSymbol)
GetAttributes()

Ruft die Attribute für das Symbol ab. Gibt ein leeres IEnumerable<T> zurück, wenn keine Attribute vorhanden sind.

(Geerbt von ISymbol)
GetDocumentationCommentId()

Gibt die Dokumentationskommentar-ID für das Symbol oder NULL zurück, wenn das Symbol keine Dokumentationskommentare unterstützt.

(Geerbt von ISymbol)
GetDocumentationCommentXml(CultureInfo, Boolean, CancellationToken)

Ruft den XML-Code (als Text) für den Kommentar ab, der dem Symbol zugeordnet ist.

(Geerbt von ISymbol)
GetMembers()

Rufen Sie alle Elemente dieses Symbols ab.

(Geerbt von INamespaceOrTypeSymbol)
GetMembers(String)

Rufen Sie alle Elemente dieses Symbols ab, die einen bestimmten Namen haben.

(Geerbt von INamespaceOrTypeSymbol)
GetTypeMembers()

Rufen Sie alle Elemente dieses Symbols ab, die Typen sind.

(Geerbt von INamespaceOrTypeSymbol)
GetTypeMembers(String)

Rufen Sie alle Elemente dieses Symbols ab, bei denen es sich um Typen handelt, die einen bestimmten Namen haben, von beliebiger Aheit.

(Geerbt von INamespaceOrTypeSymbol)
GetTypeMembers(String, Int32)

Abrufen aller Elemente dieses Symbols, bei denen es sich um Typen handelt, die einen bestimmten Namen und eine bestimmte Arität aufweisen

(Geerbt von INamespaceOrTypeSymbol)
ToDisplayParts(NullableFlowState, SymbolDisplayFormat)

Konvertiert ein Symbol in ein Array von Zeichenfolgenteilen, die jeweils über eine Art verfügen. Nützlich zum Kolorieren der Anzeigezeichenfolge.

(Geerbt von ITypeSymbol)
ToDisplayParts(SymbolDisplayFormat)

Konvertieren Sie ein Symbol in ein Array von Zeichenfolgenteilen, die jeweils eine Art aufweisen. Nützlich zum Kolorieren der Anzeigezeichenfolge.

(Geerbt von ISymbol)
ToDisplayString(NullableFlowState, SymbolDisplayFormat)

Konvertiert einen ITypeSymbol und einen nullablen Flusszustand in eine Zeichenfolgendarstellung.

(Geerbt von ITypeSymbol)
ToDisplayString(SymbolDisplayFormat)

Konvertiert das Symbol in eine Zeichenfolgendarstellung.

(Geerbt von ISymbol)
ToMinimalDisplayParts(SemanticModel, Int32, SymbolDisplayFormat)

Konvertieren Sie ein Symbol in ein Array von Zeichenfolgenteilen, die jeweils eine Art aufweisen. Kann an einen bestimmten Speicherort im Quellcode angepasst werden. Nützlich zum Kolorieren der Anzeigezeichenfolge.

(Geerbt von ISymbol)
ToMinimalDisplayParts(SemanticModel, NullableFlowState, Int32, SymbolDisplayFormat)

Konvertieren Sie ein Symbol in ein Array von Zeichenfolgenteilen, die jeweils eine Art aufweisen. Kann an einen bestimmten Speicherort im Quellcode angepasst werden. Nützlich zum Kolorieren der Anzeigezeichenfolge.

(Geerbt von ITypeSymbol)
ToMinimalDisplayString(SemanticModel, Int32, SymbolDisplayFormat)

Konvertieren Sie ein Symbol in eine Zeichenfolge, die dem Benutzer angezeigt werden kann. Kann an einen bestimmten Speicherort im Quellcode angepasst werden.

(Geerbt von ISymbol)
ToMinimalDisplayString(SemanticModel, NullableFlowState, Int32, SymbolDisplayFormat)

Konvertiert ein Symbol in eine Zeichenfolge, die dem Benutzer angezeigt werden kann. Kann an einen bestimmten Speicherort im Quellcode angepasst werden.

(Geerbt von ITypeSymbol)
WithNullableAnnotation(NullableAnnotation)

Gibt den gleichen Typ wie dieser Typ zurück, aber mit der angegebenen NULLable-Anmerkung.

(Geerbt von ITypeSymbol)

Erweiterungsmethoden

IsMustOverride(ISymbol)

Stellt einen Typparameter in einem generischen Typ oder einer generischen Methode dar.

IsNotOverridable(ISymbol)

Stellt einen Typparameter in einem generischen Typ oder einer generischen Methode dar.

IsOverridable(ISymbol)

Stellt einen Typparameter in einem generischen Typ oder einer generischen Methode dar.

IsOverrides(ISymbol)

Stellt einen Typparameter in einem generischen Typ oder einer generischen Methode dar.

IsShared(ISymbol)

Bestimmt, ob das Symbol freigegeben ist.

Gilt für: