Partager via


ITypeSymbol Interface

Définition

Représente un type.

public interface class ITypeSymbol : IEquatable<Microsoft::CodeAnalysis::ISymbol ^>, Microsoft::CodeAnalysis::INamespaceOrTypeSymbol
public interface ITypeSymbol : IEquatable<Microsoft.CodeAnalysis.ISymbol>, Microsoft.CodeAnalysis.INamespaceOrTypeSymbol
type ITypeSymbol = interface
    interface INamespaceOrTypeSymbol
    interface ISymbol
    interface IEquatable<ISymbol>
Public Interface ITypeSymbol
Implements IEquatable(Of ISymbol), INamespaceOrTypeSymbol
Dérivé
Implémente

Remarques

Cette interface est réservée à l’implémentation par ses API associées. Nous nous réservons le droit de le modifier à l’avenir.

Propriétés

AllInterfaces

Liste de toutes les interfaces dont ce type est un sous-type déclaré, à l’exclusion de ce type lui-même. Cela inclut toutes les interfaces de base déclarées, toutes les interfaces de base déclarées de types de base et toutes les interfaces de base déclarées de ces résultats (de manière récursive). Il s’agit également du jeu d’interface effectif d’un paramètre de type. Chaque résultat s’affiche exactement une fois dans la liste. Cette liste est triée de manière topologique selon la relation d’héritage : si le type d’interface A étend le type d’interface B, A précède B dans la liste. Ce n’est pas tout à fait la même chose que « toutes les interfaces dont ce type est un sous-type approprié », car il ne prend pas en compte la variance : AllInterfaces pour la chaîne> IEnumerable<n’inclut pas l’objet> IEnumerable<.

BaseType

Type de base déclaré de ce type, ou null. Le type d’objet, les types d’interface et les types de pointeur n’ont pas de type de base. Le type de base d’un paramètre de type est sa classe de base effective.

CanBeReferencedByName

Retourne true si ce symbole peut être référencé par son nom dans le code.

(Hérité de ISymbol)
ContainingAssembly

Obtient le IAssemblySymbol pour l’assembly contenant. Retourne null si le symbole est partagé entre plusieurs assemblys.

(Hérité de ISymbol)
ContainingModule

Obtient le IModuleSymbol pour le module contenant. Retourne null si le symbole est partagé entre plusieurs modules.

(Hérité de ISymbol)
ContainingNamespace

Obtient le INamespaceSymbol pour l’espace de noms englobant le plus proche. Retourne null si le symbole n’est pas contenu dans un espace de noms.

(Hérité de ISymbol)
ContainingSymbol

Obtient le ISymbol pour le symbole contenant immédiatement.

(Hérité de ISymbol)
ContainingType

Obtient le INamedTypeSymbol pour le type contenant. Retourne null si le symbole n’est pas contenu dans un type.

(Hérité de ISymbol)
DeclaredAccessibility

Obtient un Accessibility indiquant l’accessibilité déclarée pour le symbole. Retourne NotApplicable si aucune accessibilité n’est déclarée.

(Hérité de ISymbol)
DeclaringSyntaxReferences

Obtenez le ou les nœuds de syntaxe dans lesquels ce symbole a été déclaré dans la source. Certains symboles (par exemple, des classes partielles) peuvent être définis à plusieurs emplacements. Cette propriété doit retourner un ou plusieurs nœuds de syntaxe uniquement si le symbole a été déclaré dans le code source et n’a pas été déclaré implicitement (voir la propriété IsImplicitlyDeclared).

Notez que pour le symbole d’espace de noms, la syntaxe de déclaration peut être la déclaration d’un espace de noms imbriqué. Par exemple, le nœud de syntaxe de déclaration pour N1 dans « espace de noms N1 . N2 {...} » est l’intégralité de NamespaceDeclarationSyntax pour N1. N2. Pour l’espace de noms global, la syntaxe de déclaration sera CompilationUnitSyntax.

(Hérité de ISymbol)
HasUnsupportedMetadata

Indique que ce symbole utilise des métadonnées qui ne peuvent pas être prises en charge par la langue.

Voici quelques exemples :

  • Types de pointeurs dans VB
  • Type de retour ByRef
  • Modificateurs personnalisés requis

Cela se distingue, par exemple, des références aux symboles de métadonnées définis dans les assemblys qui n’ont pas été référencés. Les symboles dans lesquels cela retourne true ne peuvent jamais être utilisés correctement et ne doivent donc jamais apparaître dans une fonctionnalité IDE.

Cette valeur est définie pour les symboles de métadonnées, comme suit :

  • Type : si un type n’est pas pris en charge (par exemple, un type pointeur)
  • Méthode : le paramètre ou le type de retour n’est pas pris en charge
  • Champ : le type n’est pas pris en charge
  • Événement : le type n’est pas pris en charge
  • Propriété : le type n’est pas pris en charge
  • Paramètre : le type n’est pas pris en charge

(Hérité de ISymbol)
Interfaces

Obtient l’ensemble d’interfaces que ce type implémente directement. Cet ensemble n’inclut pas les interfaces qui sont des interfaces de base d’interfaces implémentées directement. Cela inclut les interfaces déclarées en tant que contraintes sur les paramètres de type.

IsAbstract

Obtient une valeur indiquant si le symbole est abstrait.

(Hérité de ISymbol)
IsAnonymousType

S’agit-il d’un symbole pour un type anonyme (y compris un délégué VB anonyme).

IsDefinition

Obtient une valeur indiquant si le symbole est la définition d’origine. Retourne false si le symbole est dérivé d’un autre symbole, par substitution de type pour instance.

(Hérité de ISymbol)
IsExtern

Obtient une valeur indiquant si le symbole est défini en externe.

(Hérité de ISymbol)
IsImplicitlyDeclared

Retourne true si ce symbole a été créé automatiquement par le compilateur et n’a pas de déclaration de code source correspondante explicite.

(Hérité de ISymbol)
IsNamespace

Retourne true si ce symbole est un espace de noms. S’il ne s’agit pas d’un espace de noms, il doit s’agir d’un type.

(Hérité de INamespaceOrTypeSymbol)
IsNativeIntegerType

True si le type représente un entier natif. En C#, les types représentés par les mots clés de langue « nint » et « nuint ».

IsOverride

Obtient une valeur indiquant si le symbole est un remplacement d’un symbole de classe de base.

(Hérité de ISymbol)
IsReadOnly

True si le type est en lecture seule.

IsRecord

Pour les symboles sources, true si le type est un enregistrement. Pour les symboles de métadonnées, true si le type est un enregistrement et un type référence.

IsReferenceType

True si ce type est connu pour être un type de référence. Ce n’est jamais le cas et IsReferenceTypeIsValueType les deux retournent true. Toutefois, pour un paramètre de type non contraint, IsReferenceType et IsValueType retourne tous deux false.

IsRefLikeType

True si le type est ref-like, ce qui signifie qu’il suit des règles similaires aux variables clR by-ref. False si le type n’est pas ref-like ou si la langue n’a pas de concept de types ref-like.

IsSealed

Obtient une valeur indiquant si le symbole est scellé.

(Hérité de ISymbol)
IsStatic

Obtient une valeur indiquant si le symbole est statique.

(Hérité de ISymbol)
IsTupleType

Il s’agit d’un symbole pour un tuple .

IsType

Retourne true si ce symbole est un type. S’il ne s’agit pas d’un type, il doit s’agir d’un espace de noms.

(Hérité de INamespaceOrTypeSymbol)
IsUnmanagedType

True si le type n’est pas managé conformément aux règles de langue. False si géré ou si la langue n’a pas de concept de types non managés.

IsValueType

True si ce type est connu pour être un type valeur. Ce n’est jamais le cas et IsReferenceTypeIsValueType les deux retournent true. Toutefois, pour un paramètre de type non contraint, IsReferenceType et IsValueType retourne tous deux false.

IsVirtual

Obtient une valeur indiquant si le symbole est virtuel.

(Hérité de ISymbol)
Kind

Obtient le SymbolKind indiquant de quel type de symbole il s’agit.

(Hérité de ISymbol)
Language

Obtient le langage source (« C# » ou « Visual Basic »).

(Hérité de ISymbol)
Locations

Obtient les emplacements où le symbole a été défini à l’origine, que ce soit dans la source ou les métadonnées. Certains symboles (par exemple, des classes partielles) peuvent être définis à plusieurs emplacements.

(Hérité de ISymbol)
MetadataName

Obtient le nom d’un symbole tel qu’il apparaît dans les métadonnées. La plupart du temps, il s’agit de la propriété Name, avec les exceptions suivantes :

  1. Le nom de métadonnées des types génériques inclut le suffixe « '1 », « 2 », etc. qui indique le nombre de paramètres de type (il n’inclut pas, toutefois, les noms des types ou espaces de noms contenants).
  2. Les espaces sont supprimés pour le nom de métadonnées des noms d’interface explicites, par rapport à la propriété name.
  3. La longueur des noms est limitée à ne pas dépasser les restrictions de métadonnées.
(Hérité de ISymbol)
MetadataToken

Obtient le jeton de métadonnées associé à ce symbole, ou 0 si le symbole n’est pas chargé à partir de métadonnées.

(Hérité de ISymbol)
Name

Obtient le nom du symbole. Retourne la chaîne vide si elle n’est pas nommée.

(Hérité de ISymbol)
NullableAnnotation

Annotation nullable associée au type, ou None s’il n’y en a pas.

OriginalDefinition

Définition d’origine de ce symbole. Si ce symbole est construit à partir d’un autre symbole par substitution de type, obtient OriginalDefinition le symbole d’origine tel qu’il a été défini dans la source ou les métadonnées.

SpecialType

Valeur énumérée qui identifie certains types « spéciaux », tels que Object. Retourne None si le type n’est pas spécial.

TypeKind

Valeur énumérée qui identifie si ce type est un tableau, un pointeur, une énumération, etc.

Méthodes

Accept(SymbolVisitor)

Représente un type.

(Hérité de ISymbol)
Accept<TArgument,TResult>(SymbolVisitor<TArgument,TResult>, TArgument)

Représente un type.

(Hérité de ISymbol)
Accept<TResult>(SymbolVisitor<TResult>)

Représente un type.

(Hérité de ISymbol)
Equals(ISymbol, SymbolEqualityComparer)

Détermine si ce symbole est égal à un autre, selon les règles du fourni SymbolEqualityComparer

(Hérité de ISymbol)
FindImplementationForInterfaceMember(ISymbol)

Renvoie le symbole correspondant dans ce type ou un type de base qui implémente interfaceMember (implicitement ou explicitement), ou null si aucun symbole de ce type n’existe (ce qui peut être dû soit au fait que ce type n’implémente pas le conteneur d’interfaceMember, soit parce que ce type ne fournit pas de membre qui implémente interfaceMember avec succès).

GetAttributes()

Obtient les attributs du symbole. Retourne un vide IEnumerable<T> s’il n’y a pas d’attributs.

(Hérité de ISymbol)
GetDocumentationCommentId()

Renvoie l’ID de commentaire de la documentation pour le symbole, ou null si le symbole ne prend pas en charge les commentaires de documentation.

(Hérité de ISymbol)
GetDocumentationCommentXml(CultureInfo, Boolean, CancellationToken)

Obtient le code XML (sous forme de texte) du commentaire associé au symbole.

(Hérité de ISymbol)
GetMembers()

Obtenez tous les membres de ce symbole.

(Hérité de INamespaceOrTypeSymbol)
GetMembers(String)

Obtenez tous les membres de ce symbole qui ont un nom particulier.

(Hérité de INamespaceOrTypeSymbol)
GetTypeMembers()

Obtenez tous les membres de ce symbole qui sont des types.

(Hérité de INamespaceOrTypeSymbol)
GetTypeMembers(String)

Obtenez tous les membres de ce symbole qui sont des types qui ont un nom particulier, de n’importe quelle arité.

(Hérité de INamespaceOrTypeSymbol)
GetTypeMembers(String, Int32)

Obtenir tous les membres de ce symbole qui sont des types qui ont un nom et une arité particuliers

(Hérité de INamespaceOrTypeSymbol)
ToDisplayParts(NullableFlowState, SymbolDisplayFormat)

Convertit un symbole en tableau de parties de chaîne, chacune d’elles ayant un type. Utile pour coloriser la chaîne d’affichage.

ToDisplayParts(SymbolDisplayFormat)

Convertissez un symbole en tableau de parties de chaîne, chacune d’elles ayant un type. Utile pour coloriser la chaîne d’affichage.

(Hérité de ISymbol)
ToDisplayString(NullableFlowState, SymbolDisplayFormat)

Convertit un et un ITypeSymbol état de flux nullable en représentation sous forme de chaîne.

ToDisplayString(SymbolDisplayFormat)

Convertit le symbole en représentation sous forme de chaîne.

(Hérité de ISymbol)
ToMinimalDisplayParts(SemanticModel, Int32, SymbolDisplayFormat)

Convertissez un symbole en tableau de parties de chaîne, chacune d’elles ayant un type. Peut être adapté à un emplacement spécifique dans le code source. Utile pour coloriser la chaîne d’affichage.

(Hérité de ISymbol)
ToMinimalDisplayParts(SemanticModel, NullableFlowState, Int32, SymbolDisplayFormat)

Convertissez un symbole en tableau de parties de chaîne, chacune d’elles ayant un type. Peut être adapté à un emplacement spécifique dans le code source. Utile pour coloriser la chaîne d’affichage.

ToMinimalDisplayString(SemanticModel, Int32, SymbolDisplayFormat)

Convertissez un symbole en chaîne qui peut être affichée à l’utilisateur. Peut être adapté à un emplacement spécifique dans le code source.

(Hérité de ISymbol)
ToMinimalDisplayString(SemanticModel, NullableFlowState, Int32, SymbolDisplayFormat)

Convertit un symbole en chaîne qui peut être affichée à l’utilisateur. Peut être adapté à un emplacement spécifique dans le code source.

WithNullableAnnotation(NullableAnnotation)

Retourne le même type que ce type, mais avec l’annotation nullable donnée.

Méthodes d’extension

IsMustOverride(ISymbol)

Représente un type.

IsNotOverridable(ISymbol)

Représente un type.

IsOverridable(ISymbol)

Représente un type.

IsOverrides(ISymbol)

Représente un type.

IsShared(ISymbol)

Détermine si le symbole est Partagé.

S’applique à