Condividi tramite


ISymbol Interfaccia

Definizione

Rappresenta un simbolo (spazio dei nomi, classe, metodo, parametro e così via) esposto dal compilatore.

public interface class ISymbol : IEquatable<Microsoft::CodeAnalysis::ISymbol ^>
public interface ISymbol : IEquatable<Microsoft.CodeAnalysis.ISymbol>
type ISymbol = interface
    interface IEquatable<ISymbol>
Public Interface ISymbol
Implements IEquatable(Of ISymbol)
Derivato
Implementazioni

Commenti

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

Proprietà

CanBeReferencedByName

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

ContainingAssembly

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

ContainingModule

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

ContainingNamespace

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

ContainingSymbol

Ottiene l'oggetto ISymbol per il simbolo contenente immediatamente.

ContainingType

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

DeclaredAccessibility

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

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.

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 - parametro o tipo restituito non supportato
  • Campo : il tipo non è supportato
  • Evento : il tipo non è supportato
  • Proprietà : il tipo non è supportato
  • Parametro : il tipo non è supportato

IsAbstract

Ottiene un valore che indica se il simbolo è astratto.

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.

IsExtern

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

IsImplicitlyDeclared

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

IsOverride

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

IsSealed

Ottiene un valore che indica se il simbolo è bloccato.

IsStatic

Ottiene un valore che indica se il simbolo è statico.

IsVirtual

Ottiene un valore che indica se il simbolo è virtuale.

Kind

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

Language

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

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.

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.
MetadataToken

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

Name

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

OriginalDefinition

Ottiene l'oggetto ISymbol per la definizione originale del simbolo. Se questo simbolo è derivato da un altro simbolo, per sostituzione del tipo, ottiene il simbolo originale, come è stato definito in origine o metadati.

Metodi

Accept(SymbolVisitor)

Rappresenta un simbolo (spazio dei nomi, classe, metodo, parametro e così via) esposto dal compilatore.

Accept<TArgument,TResult>(SymbolVisitor<TArgument,TResult>, TArgument)

Rappresenta un simbolo (spazio dei nomi, classe, metodo, parametro e così via) esposto dal compilatore.

Accept<TResult>(SymbolVisitor<TResult>)

Rappresenta un simbolo (spazio dei nomi, classe, metodo, parametro e così via) esposto dal compilatore.

Equals(ISymbol, SymbolEqualityComparer)

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

GetAttributes()

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

GetDocumentationCommentId()

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

GetDocumentationCommentXml(CultureInfo, Boolean, CancellationToken)

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

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.

ToDisplayString(SymbolDisplayFormat)

Converte il simbolo in una rappresentazione di stringa.

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.

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.

Metodi di estensione

IsMustOverride(ISymbol)

Rappresenta un simbolo (spazio dei nomi, classe, metodo, parametro e così via) esposto dal compilatore.

IsNotOverridable(ISymbol)

Rappresenta un simbolo (spazio dei nomi, classe, metodo, parametro e così via) esposto dal compilatore.

IsOverridable(ISymbol)

Rappresenta un simbolo (spazio dei nomi, classe, metodo, parametro e così via) esposto dal compilatore.

IsOverrides(ISymbol)

Rappresenta un simbolo (spazio dei nomi, classe, metodo, parametro e così via) esposto dal compilatore.

IsShared(ISymbol)

Determina se il simbolo è Condiviso.

Si applica a