IMethodSymbol Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un metodo o un simbolo simile al metodo ,incluso il costruttore, il distruttore, l'operatore o la funzione di accesso a proprietà/evento.
public interface class IMethodSymbol : IEquatable<Microsoft::CodeAnalysis::ISymbol ^>, Microsoft::CodeAnalysis::ISymbol
public interface IMethodSymbol : IEquatable<Microsoft.CodeAnalysis.ISymbol>, Microsoft.CodeAnalysis.ISymbol
type IMethodSymbol = interface
interface ISymbol
interface IEquatable<ISymbol>
Public Interface IMethodSymbol
Implements IEquatable(Of ISymbol), ISymbol
- Implementazioni
Commenti
Questa interfaccia è riservata all'implementazione dalle API associate. Ci riservamo il diritto di modificarlo in futuro.
Proprietà
| Nome | Descrizione |
|---|---|
| Arity |
Restituisce l'arità di questo metodo. Arity è il numero di parametri di tipo dichiarati da un metodo. Un metodo non generico ha zero arità. |
| AssociatedAnonymousDelegate |
Se questo metodo è un metodo Lambda (MethodKind = MethodKind.LambdaMethod) ed è associato un delegato anonimo, restituisce questo delegato. Restituisce Null se il simbolo non è un'espressione lambda o se non dispone di un delegato anonimo associato. |
| AssociatedExtensionImplementation |
Per un metodo/funzione di accesso/operatore in un blocco di estensione, restituisce il metodo di implementazione corrispondente, se presente. Restituisce null in caso contrario. Si consideri, ad esempio, quanto segue:
Quando viene specificato il simbolo del metodo per Quando viene specificata una definizione di membro di estensione generica, restituisce un metodo di implementazione costruito con i parametri di tipo del membro dell'estensione. |
| AssociatedSymbol |
Restituisce un simbolo ,ad esempio proprietà, evento e così via, associato al metodo . |
| CallingConvention |
Enumerazione della convenzione di chiamata del simbolo del metodo. |
| CanBeReferencedByName |
Restituisce true se questo simbolo può essere fatto riferimento dal nome nel codice. (Ereditato da ISymbol) |
| ConstructedFrom |
Restituisce il simbolo del metodo da cui è stato costruito questo metodo. Il simbolo del metodo risultante ha lo stesso tipo contenitore (se presente), ma ha argomenti di tipo uguali ai parametri di tipo (anche se il tipo che lo contiene potrebbe non essere). |
| ContainingAssembly |
Ottiene l'oggetto IAssemblySymbol per l'assembly contenitore. Restituisce Null se il simbolo è condiviso tra più assembly. (Ereditato da ISymbol) |
| ContainingModule |
Ottiene l'oggetto IModuleSymbol per il modulo contenitore. Restituisce Null se il simbolo viene condiviso tra più moduli. (Ereditato da ISymbol) |
| ContainingNamespace |
Ottiene l'oggetto INamespaceSymbol per lo spazio dei nomi di inclusione più vicino. Restituisce Null se il simbolo non è contenuto in uno spazio dei nomi. (Ereditato da ISymbol) |
| ContainingSymbol |
Ottiene l'oggetto per l'oggetto ISymbol contenente immediatamente il simbolo. (Ereditato da ISymbol) |
| ContainingType |
Ottiene l'oggetto INamedTypeSymbol per il tipo contenitore. 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 tipi parziali, ad esempio classi, struct e interfacce, possono essere definiti in più posizioni. Questa proprietà deve restituire uno o più nodi della 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 i membri parziali (metodi, proprietà, eventi), questa proprietà restituisce un solo nodo della sintassi. Per ottenere tutti i nodi della sintassi per un membro parziale, usare le Si noti che per il simbolo dello spazio dei nomi, la sintassi dichiarante potrebbe dichiarare uno spazio dei nomi annidato. Ad esempio, il nodo della sintassi dichiarante per N1 in "spazio dei nomi N1. N2 {...}" è l'intero namespaceDeclarationSyntax per N1. N2. Per lo spazio dei nomi globale, la sintassi dichiarativa sarà CompilationUnitSyntax. (Ereditato da ISymbol) |
| ExplicitInterfaceImplementations |
Restituisce i metodi di interfaccia implementati in modo esplicito da questo metodo. |
| HasUnsupportedMetadata |
Indica che questo simbolo utilizza metadati che non possono essere supportati dalla lingua. Gli esempi includono:
Ciò si distingue, ad esempio, dai riferimenti ai simboli di metadati definiti negli assembly a cui non viene fatto riferimento. I simboli in cui restituisce true non possono mai essere usati correttamente e pertanto non dovrebbero mai essere visualizzati in alcuna funzionalità dell'IDE. Questa opzione è impostata per i simboli di metadati, come indicato di seguito:
|
| HidesBaseMethodsByName |
Restituisce true se questo metodo nasconde i metodi di base in base al nome. Questo non può essere specificato direttamente nel linguaggio C#, ma può essere true per i metodi definiti in altri linguaggi importati dai metadati. Equivalente del flag "hidebyname" nei metadati. |
| IsAbstract |
Ottiene un valore che indica se il simbolo è astratto. (Ereditato da ISymbol) |
| IsAsync |
Restituisce true se questo metodo è un metodo asincrono |
| IsCheckedBuiltin |
Restituisce un valore che indica se l'operatore predefinito verifica la presenza di overflow integer. |
| IsConditional |
Restituisce un flag che indica se questo simbolo ha almeno un attributo condizionale applicato/ereditato. |
| 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 di . (Ereditato da ISymbol) |
| IsExtensionMethod |
Restituisce true se questo metodo è un metodo di estensione "classico" (usando il |
| IsExtern |
Ottiene un valore che indica se il simbolo è definito esternamente. (Ereditato da ISymbol) |
| IsGenericMethod |
Restituisce un valore che indica se questo metodo è generico; ad esempio, contiene parametri di tipo? |
| IsImplicitlyDeclared |
Restituisce true se questo simbolo è stato creato automaticamente dal compilatore e non dispone di una dichiarazione di codice sorgente corrispondente esplicita. (Ereditato da ISymbol) |
| IsInitOnly |
Restituisce true per le funzioni di accesso set 'init' e false in caso contrario. |
| IsIterator |
Restituisce |
| IsOverride |
Ottiene un valore che indica se il simbolo è un override di un simbolo di classe di base. (Ereditato da ISymbol) |
| IsPartialDefinition |
Restituisce true se si tratta di una definizione di metodo parziale senza corpo. Se è presente un corpo di implementazione, può essere recuperato con PartialImplementationPart. |
| IsReadOnly |
Indica se il metodo è di sola lettura, ad esempio se il parametro ricevitore 'this' è 'ref readonly'. Restituisce true per i metodi e le funzioni di accesso dell'istanza readonly e per i metodi di estensione ridotti con un parametro 'this in'. |
| IsSealed |
Ottiene un valore che indica se il simbolo è sealed. (Ereditato da ISymbol) |
| IsStatic |
Ottiene un valore che indica se il simbolo è statico. (Ereditato da ISymbol) |
| IsVararg |
Restituisce un valore che indica se questo metodo usa la convenzione di chiamata DELL'interfaccia della riga di comando VARARG. Viene usato per gli elenchi di argomenti di variabile di tipo C. Questa operazione viene usata raramente nel codice C# e viene rappresentata usando la parola chiave "__arglist" non documentata. Si noti che i metodi con "params" nell'ultimo parametro sono indicati con la proprietà "IsParams" in ParameterSymbol e non sono rappresentati con questa proprietà. |
| IsVirtual |
Ottiene un valore che indica se il simbolo è virtuale. (Ereditato da ISymbol) |
| Kind |
Ottiene l'oggetto che indica il SymbolKind tipo di simbolo. (Ereditato da ISymbol) |
| Language |
Ottiene il linguaggio di origine ("C#" o "Visual Basic"). (Ereditato da ISymbol) |
| Locations |
Ottiene i percorsi in cui il simbolo è stato originariamente definito, nell'origine o nei metadati. Alcuni simboli, ad esempio tipi parziali, ad esempio classi, struct e interfacce, possono essere definiti in più posizioni. Si noti che per i membri parziali (ad esempio metodi, proprietà ed eventi), questa proprietà restituisce una sola posizione. Per ottenere tutte le posizioni per un membro parziale, usare le |
| MetadataName |
Ottiene il nome di un simbolo visualizzato nei metadati. Nella maggior parte dei casi, si tratta della stessa proprietà Name, con le eccezioni seguenti:
|
| MetadataToken |
Ottiene il token di metadati associato a questo simbolo oppure 0 se il simbolo non viene caricato dai metadati. (Ereditato da ISymbol) |
| MethodImplementationFlags |
Restituisce i flag di implementazione per il simbolo del metodo specificato. |
| MethodKind |
Ottiene il tipo di metodo. Esistono diversi tipi di elementi nel linguaggio C# rappresentati come metodi. Questa proprietà consente di distinguere tali elementi senza dover decodificare il nome del metodo. |
| Name |
Ottiene il nome del simbolo. Restituisce la stringa vuota se senza nome. (Ereditato da ISymbol) |
| OriginalDefinition |
Ottenere la definizione originale di questo simbolo. Se questo simbolo è derivato da un altro simbolo per sostituzione del tipo (ad esempio), ottiene il simbolo originale, come è stato definito nell'origine o nei metadati. |
| OverriddenMethod |
Se questo metodo esegue l'override di un altro metodo ( perché entrambi disponevano del modificatore di override e c'era correttamente un metodo di cui eseguire l'override), restituisce il metodo sottoposto a override. |
| Parameters |
Ottiene i parametri di questo metodo. Se questo metodo non contiene parametri, restituisce un elenco vuoto. |
| PartialDefinitionPart |
Se si tratta di una parte di implementazione parziale del metodo, restituisce la parte di definizione corrispondente. In caso contrario, null. |
| PartialImplementationPart |
Se si tratta di una dichiarazione di metodo parziale senza un corpo e il metodo viene implementato con un corpo, restituisce tale definizione di implementazione. In caso contrario, null. |
| ReceiverNullableAnnotation |
Se questo metodo può essere applicato a un oggetto , restituisce il valore Nullbility di primo livello dell'oggetto a cui viene applicato. |
| ReceiverType |
Se questo metodo può essere applicato a un oggetto , restituisce il tipo di oggetto a cui viene applicato. |
| ReducedFrom |
Se questo metodo è un metodo di estensione ridotto, restituisce la definizione del metodo di estensione da cui questa operazione è stata ridotta. In caso contrario, restituisce null. |
| RefCustomModifiers |
Modificatori personalizzati associati al modificatore di riferimento o matrice vuota se non sono presenti. |
| RefKind |
Restituisce l'oggetto RefKind del metodo . |
| ReturnNullableAnnotation |
Ottiene il valore Nullbility di primo livello del tipo restituito del metodo. |
| ReturnsByRef |
Restituisce true se il metodo restituisce per riferimento. |
| ReturnsByRefReadonly |
Restituisce true se questo metodo viene restituito da ref readonly. |
| ReturnsVoid |
Restituisce true se questo metodo non ha alcun tipo restituito; ad esempio restituisce "void". |
| ReturnType |
Ottiene il tipo restituito del metodo . |
| ReturnTypeCustomModifiers |
Restituisce l'elenco dei modificatori personalizzati, se presenti, associati al tipo restituito. |
| TypeArgumentNullableAnnotations |
Restituisce il valore Nullbility di primo livello degli argomenti di tipo che sono stati sostituiti per i parametri di tipo. Se non è stato sostituito alcun parametro di tipo specificato, None viene restituito . |
| TypeArguments |
Restituisce gli argomenti di tipo che sono stati sostituiti per i parametri di tipo. Se nulla è stato sostituito per un parametro di tipo specificato, il parametro di tipo stesso viene considerato l'argomento di tipo. |
| TypeArgumentsNullableAnnotations |
Restituisce il valore Nullbility di primo livello degli argomenti di tipo che sono stati sostituiti per i parametri di tipo. Se non è stato sostituito alcun parametro di tipo specificato, NotApplicable viene restituito . |
| TypeParameters |
Ottenere i parametri di tipo in questo metodo. Se il metodo non è generico, restituisce un elenco vuoto. |
| UnmanagedCallingConventionTypes |
Tipi di modificatore considerati parte della convenzione di chiamata di questo metodo, se MethodKind è FunctionPointerSignature e CallingConvention è Unmanaged. Se non si tratta di una firma del puntatore di funzione o la convenzione di chiamata non è gestita, si tratta di una matrice vuota. L'ordine e la duplicazione di questi modificatori riflettono l'ordine e la duplicazione di origine/metadati, a seconda di quale simbolo proviene. |
Metodi
| Nome | Descrizione |
|---|---|
| Accept(SymbolVisitor) |
Rappresenta un metodo o un simbolo simile al metodo ,incluso il costruttore, il distruttore, l'operatore o la funzione di accesso a proprietà/evento. (Ereditato da ISymbol) |
| Accept<TArgument,TResult>(SymbolVisitor<TArgument,TResult>, TArgument) |
Rappresenta un metodo o un simbolo simile al metodo ,incluso il costruttore, il distruttore, l'operatore o la funzione di accesso a proprietà/evento. (Ereditato da ISymbol) |
| Accept<TResult>(SymbolVisitor<TResult>) |
Rappresenta un metodo o un simbolo simile al metodo ,incluso il costruttore, il distruttore, l'operatore o la funzione di accesso a proprietà/evento. (Ereditato da ISymbol) |
| Construct(ImmutableArray<ITypeSymbol>, ImmutableArray<NullableAnnotation>) |
Restituisce un metodo costruito in base agli argomenti di tipo e alle annotazioni nullable dell'argomento di tipo. |
| Construct(ITypeSymbol[]) |
Restituisce un metodo costruito in base ai relativi argomenti di tipo. |
| Equals(ISymbol, SymbolEqualityComparer) |
Determina se questo simbolo è uguale a un altro, in base alle regole dell'oggetto specificato SymbolEqualityComparer (Ereditato da ISymbol) |
| GetAttributes() |
Ottiene gli attributi per il simbolo. Restituisce un valore vuoto ImmutableArray<T> se non sono presenti attributi. (Ereditato da ISymbol) |
| GetDllImportData() |
Informazioni di Platform invoke o Null se il metodo non è un P/Invoke. |
| GetDocumentationCommentId() |
Restituisce l'ID commento della documentazione per il simbolo oppure 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) |
| GetReturnTypeAttributes() |
Restituisce l'elenco di attributi personalizzati, se presenti, associati al valore restituito. |
| GetTypeInferredDuringReduction(ITypeParameterSymbol) |
Se questo metodo è un metodo di estensione ridotto, restituisce un tipo dedotto durante il processo di riduzione per il parametro di tipo. |
| ReduceExtensionMember(ITypeSymbol) |
Se si tratta di un metodo di un blocco di estensione che può essere applicato a un ricevitore del tipo specificato, restituisce il simbolo del metodo nell'estensione sostituita per quel tipo di ricevitore. In caso contrario, restituisce null. |
| ReduceExtensionMethod(ITypeSymbol) |
Se si tratta di un metodo di estensione che può essere applicato a un ricevitore del tipo specificato, restituisce un simbolo di metodo di estensione ridotto formato. In caso contrario, restituisce null. |
| ToDisplayParts(SymbolDisplayFormat) |
Convertire un simbolo in una matrice di parti stringa, ognuna delle quali ha un tipo. Utile per colorare la stringa di visualizzazione. (Ereditato da ISymbol) |
| 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 stringa, ognuna delle quali ha un tipo. Può essere personalizzato in base a una posizione specifica nel codice sorgente. Utile per colorare la stringa di visualizzazione. (Ereditato da ISymbol) |
| ToMinimalDisplayString(SemanticModel, Int32, SymbolDisplayFormat) |
Convertire un simbolo in una stringa che può essere visualizzata all'utente. Può essere personalizzato in base a una posizione specifica nel codice sorgente. (Ereditato da ISymbol) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetConstructedReducedFrom(IMethodSymbol) |
Restituisce la forma costruita della proprietà ReducedFrom, inclusi gli argomenti di tipo dedotti durante la riduzione o forniti nel sito di chiamata. |
| HandledEvents(IMethodSymbol) |
Rappresenta un metodo o un simbolo simile al metodo ,incluso il costruttore, il distruttore, l'operatore o la funzione di accesso a proprietà/evento. |
| IsMustOverride(ISymbol) |
Rappresenta un metodo o un simbolo simile al metodo ,incluso il costruttore, il distruttore, l'operatore o la funzione di accesso a proprietà/evento. |
| IsNotOverridable(ISymbol) |
Rappresenta un metodo o un simbolo simile al metodo ,incluso il costruttore, il distruttore, l'operatore o la funzione di accesso a proprietà/evento. |
| IsOverloads(IMethodSymbol) |
Rappresenta un metodo o un simbolo simile al metodo ,incluso il costruttore, il distruttore, l'operatore o la funzione di accesso a proprietà/evento. |
| IsOverridable(ISymbol) |
Rappresenta un metodo o un simbolo simile al metodo ,incluso il costruttore, il distruttore, l'operatore o la funzione di accesso a proprietà/evento. |
| IsOverrides(ISymbol) |
Rappresenta un metodo o un simbolo simile al metodo ,incluso il costruttore, il distruttore, l'operatore o la funzione di accesso a proprietà/evento. |
| IsShared(ISymbol) |
Determina se il simbolo è Condiviso. |