ITypeSymbol Interfaccia

Definizione

Rappresenta un tipo.

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
Derivato
Implementazioni

Commenti

Questa interfaccia è riservata per l'implementazione dalle API associate. Si riserva il diritto di modificarlo in futuro.

Proprietà

AllInterfaces

Elenco di tutte le interfacce di cui questo tipo è un sottotipo dichiarato, escluso questo tipo stesso. Sono incluse tutte le interfacce di base dichiarate, tutte le interfacce di base dichiarate dei tipi di base e tutte le interfacce di base dichiarate di tali risultati (in modo ricorsivo). Questo è anche il set di interfacce effettivo di un parametro di tipo. Ogni risultato viene visualizzato esattamente una volta nell'elenco. Questo elenco viene ordinato in modo toplogico in base alla relazione di ereditarietà: se il tipo di interfaccia A estende il tipo di interfaccia B, A precede B nell'elenco. Non è abbastanza uguale a "tutte le interfacce di cui questo tipo è un sottotipo appropriato" perché non prende in considerazione la varianza: AllInterfaces per IEnumerable string non includerà l'oggetto> IEnumerable<<.>

BaseType

Tipo di base dichiarato di questo tipo o null. Il tipo di oggetto, i tipi di interfaccia e i tipi di puntatore non hanno un tipo di base. Il tipo di base di un parametro di tipo è la classe base effettiva.

CanBeReferencedByName

Restituisce true se questo simbolo può essere fatto riferimento al relativo nome nel codice.

(Ereditato da ISymbol)
ContainingAssembly

Ottiene l'oggetto IAssemblySymbol per l'assembly contenente. Restituisce Null se il simbolo è condiviso tra più assembly.

(Ereditato da ISymbol)
ContainingModule

Ottiene l'oggetto IModuleSymbol per il modulo contenente. Restituisce Null se il simbolo è condiviso tra più moduli.

(Ereditato da ISymbol)
ContainingNamespace

Ottiene l'oggetto INamespaceSymbol per lo spazio dei nomi più vicino. Restituisce Null se il simbolo non è contenuto in uno spazio dei nomi.

(Ereditato da ISymbol)
ContainingSymbol

Ottiene l'oggetto ISymbol per il simbolo contenente immediatamente.

(Ereditato da ISymbol)
ContainingType

Ottiene l'oggetto INamedTypeSymbol per il tipo contenente. Restituisce Null se il simbolo non è contenuto all'interno di un tipo.

(Ereditato da ISymbol)
DeclaredAccessibility

Ottiene un Accessibility oggetto che indica l'accessibilità dichiarata per il simbolo. Restituisce NotApplicable se non viene dichiarata alcuna accessibilità.

(Ereditato da ISymbol)
DeclaringSyntaxReferences

Ottenere i nodi della sintassi in cui questo simbolo è stato dichiarato nell'origine. Alcuni simboli (ad esempio, classi parziali) possono essere definiti in più posizioni. Questa proprietà deve restituire uno o più nodi di sintassi solo se il simbolo è stato dichiarato nel codice sorgente e non è stato dichiarato in modo implicito (vedere la proprietà IsImplicitlyDeclared).

Si noti che per il simbolo dello spazio dei nomi, la sintassi dichiarante potrebbe dichiarare uno spazio dei nomi annidato. Ad esempio, il nodo di sintassi dichiarante per N1 in "spazio dei nomi N1. N2 {...}" è l'intero spazio dei nomiDeclarationSyntax per N1. N2. Per lo spazio dei nomi globale, la sintassi dichiarante sarà CompilazionUnitSyntax.

(Ereditato da ISymbol)
HasUnsupportedMetadata

Indica che questo simbolo usa i metadati che non possono essere supportati dalla lingua.

Alcuni esempi:

  • Tipi di puntatore in VB
  • Tipo restituito ByRef
  • Modificatori personalizzati richiesti

Ciò è distinto da, ad esempio, riferimenti ai simboli di metadati definiti negli assembly a cui non si fa riferimento. I simboli in cui questo restituisce true non possono mai essere usati correttamente e pertanto non dovrebbero mai essere visualizzati in alcuna funzionalità IDE.

Questo valore è impostato per i simboli dei metadati, come indicato di seguito:

  • Tipo: se un tipo non è supportato (ad esempio, un tipo di puntatore)
  • Metodo : il parametro o il tipo restituito non è supportato
  • Campo : il tipo non è supportato
  • Evento : il tipo non è supportato
  • Proprietà : il tipo non è supportato
  • Parametro : il tipo non è supportato

(Ereditato da ISymbol)
Interfaces

Ottiene il set di interfacce implementate direttamente da questo tipo. Questo set non include interfacce che sono interfacce di base di interfacce implementate direttamente. Ciò include le interfacce dichiarate come vincoli sui parametri di tipo.

IsAbstract

Ottiene un valore che indica se il simbolo è astratto.

(Ereditato da ISymbol)
IsAnonymousType

Si tratta di un simbolo per un tipo anonimo (incluso il delegato VB anonimo).

IsDefinition

Ottiene un valore che indica se il simbolo è la definizione originale. Restituisce false se il simbolo è derivato da un altro simbolo, in base alla sostituzione del tipo per istanza.

(Ereditato da ISymbol)
IsExtern

Ottiene un valore che indica se il simbolo è definito esternamente.

(Ereditato da ISymbol)
IsImplicitlyDeclared

Restituisce true se questo simbolo è stato creato automaticamente dal compilatore e non ha una dichiarazione esplicita del codice sorgente corrispondente.

(Ereditato da ISymbol)
IsNamespace

Restituisce true se questo simbolo è uno spazio dei nomi. Se non è uno spazio dei nomi, deve essere un tipo.

(Ereditato da INamespaceOrTypeSymbol)
IsNativeIntegerType

True se il tipo rappresenta un intero nativo. In C#, i tipi rappresentati dalle parole chiave del linguaggio 'nint' e 'nuint'.

IsOverride

Ottiene un valore che indica se il simbolo è un override di un simbolo di classe di base.

(Ereditato da ISymbol)
IsReadOnly

True se il tipo è readonly.

IsRecord

Per i simboli di origine, true se il tipo è un record. Per i simboli dei metadati, true se il tipo è un record e un tipo di riferimento.

IsReferenceType

True se questo tipo è noto come tipo di riferimento. Non è mai il caso che IsReferenceType e IsValueType entrambi restituiscono true. Tuttavia, per un parametro IsReferenceType di tipo non vincolato e IsValueType restituirà entrambi false.

IsRefLikeType

True se il tipo è simile al riferimento, ovvero segue regole simili alle variabili CLR by-ref. False se il tipo non è simile al riferimento o se la lingua non ha alcun concetto di tipi simili al riferimento.

IsSealed

Ottiene un valore che indica se il simbolo è bloccato.

(Ereditato da ISymbol)
IsStatic

Ottiene un valore che indica se il simbolo è statico.

(Ereditato da ISymbol)
IsTupleType

Si tratta di un simbolo per una tupla .

IsType

Restituisce true se questo simbolo è un tipo. Se non è un tipo, deve essere uno spazio dei nomi.

(Ereditato da INamespaceOrTypeSymbol)
IsUnmanagedType

True se il tipo non viene gestito in base alle regole del linguaggio. False se gestito o se la lingua non ha alcun concetto di tipi non gestiti.

IsValueType

True se questo tipo è noto come tipo valore. Non è mai il caso che IsReferenceType e IsValueType entrambi restituiscono true. Tuttavia, per un parametro IsReferenceType di tipo non vincolato e IsValueType restituirà entrambi false.

IsVirtual

Ottiene un valore che indica se il simbolo è virtuale.

(Ereditato da ISymbol)
Kind

Ottiene l'oggetto SymbolKind che indica quale tipo di simbolo è.

(Ereditato da ISymbol)
Language

Ottiene il linguaggio di origine ("C#" o "Visual Basic").

(Ereditato da ISymbol)
Locations

Ottiene le posizioni in cui il simbolo è stato originariamente definito, in origine o nei metadati. Alcuni simboli (ad esempio, classi parziali) possono essere definiti in più posizioni.

(Ereditato da ISymbol)
MetadataName

Ottiene il nome di un simbolo come viene visualizzato nei metadati. La maggior parte del tempo, questa è la stessa della proprietà Name, con le eccezioni seguenti:

  1. Il nome dei metadati dei tipi generici include il suffisso "'1", "'2" e così via che indica il numero di parametri di tipo (non include tuttavia nomi di tipi o spazi dei nomi).
  2. Il nome dei metadati dei nomi di interfaccia espliciti ha spazi rimossi, rispetto alla proprietà name.
  3. La lunghezza dei nomi è limitata a non superare le restrizioni dei metadati.
(Ereditato da ISymbol)
MetadataToken

Ottiene il token di metadati associato a questo simbolo o 0 se il simbolo non viene caricato dai metadati.

(Ereditato da ISymbol)
Name

Ottiene il nome del simbolo. Restituisce la stringa vuota se non denominata.

(Ereditato da ISymbol)
NullableAnnotation

Annotazione nullable associata al tipo o None se non sono presenti elementi.

OriginalDefinition

Definizione originale di questo simbolo. Se questo simbolo viene costruito da un altro simbolo per sostituzione del tipo, OriginalDefinition ottiene il simbolo originale come è stato definito in origine o metadati.

SpecialType

Valore enumerato che identifica determinati tipi 'speciali', ad esempio Object. Restituisce None se il tipo non è speciale.

TypeKind

Valore enumerato che identifica se questo tipo è una matrice, un puntatore, un enumerazione e così via.

Metodi

Accept(SymbolVisitor)

Rappresenta un tipo.

(Ereditato da ISymbol)
Accept<TArgument,TResult>(SymbolVisitor<TArgument,TResult>, TArgument)

Rappresenta un tipo.

(Ereditato da ISymbol)
Accept<TResult>(SymbolVisitor<TResult>)

Rappresenta un tipo.

(Ereditato da ISymbol)
Equals(ISymbol, SymbolEqualityComparer)

Determina se questo simbolo è uguale a un altro, in base alle regole del specificato SymbolEqualityComparer

(Ereditato da ISymbol)
FindImplementationForInterfaceMember(ISymbol)

Restituisce il simbolo corrispondente in questo tipo o un tipo di base che implementa interfaceMember (implicitamente o in modo esplicito) o null se non esiste alcun simbolo di questo tipo ( che potrebbe essere perché questo tipo non implementa il contenitore di interfaceMember o questo tipo non fornisce un membro che implementa correttamente interfaceMember).

GetAttributes()

Ottiene gli attributi per il simbolo. Restituisce un valore vuoto IEnumerable<T> se non sono presenti attributi.

(Ereditato da ISymbol)
GetDocumentationCommentId()

Restituisce l'ID commento della documentazione per il simbolo o null se il simbolo non supporta i commenti della documentazione.

(Ereditato da ISymbol)
GetDocumentationCommentXml(CultureInfo, Boolean, CancellationToken)

Ottiene il codice XML (come testo) per il commento associato al simbolo.

(Ereditato da ISymbol)
GetMembers()

Ottenere tutti i membri di questo simbolo.

(Ereditato da INamespaceOrTypeSymbol)
GetMembers(String)

Ottenere tutti i membri di questo simbolo con un nome specifico.

(Ereditato da INamespaceOrTypeSymbol)
GetTypeMembers()

Ottenere tutti i membri di questo simbolo che sono tipi.

(Ereditato da INamespaceOrTypeSymbol)
GetTypeMembers(String)

Ottenere tutti i membri di questo simbolo che sono tipi con un nome specifico, di qualsiasi arità.

(Ereditato da INamespaceOrTypeSymbol)
GetTypeMembers(String, Int32)

Ottenere tutti i membri di questo simbolo che sono tipi con un nome e un'arity specifici

(Ereditato da INamespaceOrTypeSymbol)
ToDisplayParts(NullableFlowState, SymbolDisplayFormat)

Converte un simbolo in una matrice di parti di stringa, ognuna delle quali ha un tipo. Utile per colorare la stringa di visualizzazione.

ToDisplayParts(SymbolDisplayFormat)

Convertire un simbolo in una matrice di parti di stringa, ognuna delle quali ha un tipo. Utile per colorare la stringa di visualizzazione.

(Ereditato da ISymbol)
ToDisplayString(NullableFlowState, SymbolDisplayFormat)

Converte uno ITypeSymbol stato di flusso nullable in una rappresentazione stringa.

ToDisplayString(SymbolDisplayFormat)

Converte il simbolo in una rappresentazione di stringa.

(Ereditato da ISymbol)
ToMinimalDisplayParts(SemanticModel, Int32, SymbolDisplayFormat)

Convertire un simbolo in una matrice di parti di stringa, ognuna delle quali ha un tipo. Può essere adattato a una posizione specifica nel codice sorgente. Utile per colorare la stringa di visualizzazione.

(Ereditato da ISymbol)
ToMinimalDisplayParts(SemanticModel, NullableFlowState, Int32, SymbolDisplayFormat)

Convertire un simbolo in una matrice di parti di stringa, ognuna delle quali ha un tipo. Può essere adattato a una posizione specifica nel codice sorgente. Utile per colorare la stringa di visualizzazione.

ToMinimalDisplayString(SemanticModel, Int32, SymbolDisplayFormat)

Convertire un simbolo in una stringa che può essere visualizzata all'utente. Può essere adattato a una posizione specifica nel codice sorgente.

(Ereditato da ISymbol)
ToMinimalDisplayString(SemanticModel, NullableFlowState, Int32, SymbolDisplayFormat)

Converte un simbolo in una stringa che può essere visualizzata all'utente. Può essere adattato a una posizione specifica nel codice sorgente.

WithNullableAnnotation(NullableAnnotation)

Restituisce lo stesso tipo di questo tipo, ma con l'annotazione nullable specificata.

Metodi di estensione

IsMustOverride(ISymbol)

Rappresenta un tipo.

IsNotOverridable(ISymbol)

Rappresenta un tipo.

IsOverridable(ISymbol)

Rappresenta un tipo.

IsOverrides(ISymbol)

Rappresenta un tipo.

IsShared(ISymbol)

Determina se il simbolo è Condiviso.

Si applica a