Condividi tramite


System.Runtime.CompilerServices Spazio dei nomi

Fornisce funzionalità per i writer del compilatore che usano codice gestito per specificare attributi nei metadati che influiscono sul comportamento in fase di esecuzione di Common Language Runtime.

Classi

AccessedThroughPropertyAttribute

Specifica il nome della proprietà che accede al campo con attributi.

AsyncIteratorStateMachineAttribute

Indica se un metodo è un iteratore asincrono.

AsyncMethodBuilderAttribute

Indica il tipo del generatore di metodi asincrono che deve essere utilizzato da un compilatore di linguaggio per compilare il tipo con attributi quando viene usato come tipo restituito di un metodo asincrono.

AsyncStateMachineAttribute

Indica se un metodo è contrassegnato con il modificatore async o asincrono.

CallConvCdecl

Indica che un metodo deve utilizzare la convenzione di chiamata Cdecl.

CallConvFastcall

Questa convenzione di chiamata non è supportata in questa versione di .NET.

CallConvMemberFunction

Indica che la convenzione di chiamata utilizzata è la variante della funzione membro.

CallConvStdcall

Indica che un metodo deve utilizzare la convenzione di chiamata StdCall.

CallConvSuppressGCTransition

Indica che un metodo deve eliminare la transizione GC come parte della convenzione di chiamata.

CallConvSwift

Indica che un metodo deve usare la convenzione di chiamata Swift.

CallConvThiscall

Indica che un metodo deve utilizzare la convenzione di chiamata ThisCall.

CallerArgumentExpressionAttribute

Indica che un parametro acquisisce l'espressione passata per un altro parametro come stringa.

CallerFilePathAttribute

Consente di ottenere il percorso completo del file di origine che contiene il chiamante. Questo è il percorso del file al momento della compilazione.

CallerLineNumberAttribute

Consente di ottenere il numero di riga nel file di origine in cui viene chiamato il metodo .

CallerMemberNameAttribute

Consente di ottenere il metodo o il nome della proprietà del chiamante al metodo .

CallSite

Classe di base del sito di chiamata dinamica. Questo tipo viene usato come tipo di parametro per le destinazioni del sito dinamico.

CallSite<T>

Tipo di sito dinamico.

CallSiteBinder

Classe responsabile dell'associazione di runtime delle operazioni dinamiche nel sito di chiamata dinamico.

CallSiteHelpers

Classe che contiene metodi helper per DLR CallSites.

CallSiteOps

Crea e memorizza nella cache le regole di associazione.

Closure

Rappresenta lo stato di runtime di un metodo generato dinamicamente.

CollectionBuilderAttribute

Fornisce funzionalità per i writer del compilatore che usano codice gestito per specificare attributi nei metadati che influiscono sul comportamento in fase di esecuzione di Common Language Runtime.

CompilationRelaxationsAttribute

Controlla la rigidità del codice generato dal compilatore JIT (Just-In-Time) di Common Language Runtime.

CompilerFeatureRequiredAttribute

Indica che il supporto del compilatore per una particolare funzionalità è necessario per il percorso in cui viene applicato questo attributo.

CompilerGeneratedAttribute

Distingue un elemento generato dal compilatore da un elemento generato dall'utente. Questa classe non può essere ereditata.

CompilerGlobalScopeAttribute

Indica che una classe deve essere considerata come se disponesse di ambito globale.

CompilerMarshalOverride

Indica che l'istanza modificata di una variabile è diversa dal relativo tipo true durante il marshalling. Questa classe non può essere ereditata.

ConditionalWeakTable<TKey,TValue>

Consente ai compilatori di associare in modo dinamico i campi oggetto agli oggetti gestiti.

ContractHelper

Fornisce metodi utilizzati dal rewriter binario per gestire gli errori del contratto.

CppInlineNamespaceAttribute

Definisce lo spazio dei nomi inline in C++/CLI.

CreateNewOnMetadataUpdateAttribute

Indica che un tipo deve essere sostituito anziché aggiornato quando si applicano gli aggiornamenti dei metadati.

CustomConstantAttribute

Definisce un valore costante che un compilatore può rendere persistente per un campo o un parametro del metodo.

DateTimeConstantAttribute

Rende persistente una costante DateTime a 8 byte per un campo o un parametro.

DebugInfoGenerator

Genera informazioni di debug per le espressioni lambda in un albero delle espressioni.

DecimalConstantAttribute

Archivia il valore di una costante Decimal nei metadati. Questa classe non può essere ereditata.

DefaultDependencyAttribute

Fornisce un suggerimento a Common Language Runtime (CLR) che indica la probabilità che venga caricata una dipendenza. Questa classe viene usata in un assembly dipendente per indicare quale hint deve essere usato quando l'elemento padre non specifica l'attributo DependencyAttribute. Questa classe non può essere ereditata.

DependencyAttribute

Indica quando una dipendenza deve essere caricata dall'assembly di riferimento. Questa classe non può essere ereditata.

DisablePrivateReflectionAttribute

Indica che i membri privati contenuti nei tipi di un assembly non sono disponibili per la reflection.

DisableRuntimeMarshallingAttribute

Disabilita il sottosistema di marshalling gestito/non gestito di runtime predefinito per P/Invokes, tipi delegati e chiamate puntatori a funzioni non gestite.

DiscardableAttribute

Contrassegna una definizione di tipo come scartabile.

DynamicAttribute

Indica che l'uso di Object in un membro deve essere considerato come un tipo inviato dinamicamente.

EnumeratorCancellationAttribute

Consente agli utenti di metodi asincroni enumerabili di contrassegnare il parametro che deve ricevere il valore del token di annullamento da GetAsyncEnumerator(CancellationToken).

ExecutionScope

Rappresenta lo stato di runtime di un metodo generato dinamicamente.

ExtensionAttribute

Indica che un metodo è un metodo di estensione o che una classe o un assembly contiene metodi di estensione.

FixedAddressValueTypeAttribute

Corregge l'indirizzo di un campo di tipo valore statico per tutta la durata. Questa classe non può essere ereditata.

FixedBufferAttribute

Indica che un campo deve essere considerato come contenente un numero fisso di elementi del tipo primitivo specificato. Questa classe non può essere ereditata.

FormattableStringFactory

Fornisce un metodo statico per creare un oggetto FormattableString da una stringa di formato composito e dai relativi argomenti.

HasCopySemanticsAttribute

Questa classe è obsoleta. Questa classe non può essere ereditata.

IDispatchConstantAttribute

Indica che il valore predefinito per il campo o il parametro con attributi è un'istanza di DispatchWrapper, dove il WrappedObject è null.

IndexerNameAttribute

Indica il nome in base al quale un indicizzatore è noto nei linguaggi di programmazione che non supportano direttamente gli indicizzatori.

InlineArrayAttribute

Indica che l'archiviazione dell'istanza viene replicata in sequenza Length volte.

InternalsVisibleToAttribute

Specifica che i tipi normalmente visibili solo all'interno dell'assembly corrente sono visibili a un assembly specificato.

InterpolatedStringHandlerArgumentAttribute

Indica gli argomenti di un metodo che include un gestore di stringhe interpolato da passare a tale gestore.

InterpolatedStringHandlerAttribute

Indica che il tipo con attributi deve essere usato come gestore di stringhe interpolate.

IsBoxed

Indica che il tipo di riferimento modificato è un tipo valore boxed. Questa classe non può essere ereditata.

IsByRefLikeAttribute

Indica che una struttura è simile a byref.

IsByValue

Indica che un argomento del metodo modificato deve essere interpretato come una semantica passata per valore dell'oggetto. Questo modificatore viene applicato ai tipi di riferimento. Questa classe non può essere ereditata.

IsConst

Indica che il tipo modificato dispone di un modificatore const. Questa classe non può essere ereditata.

IsCopyConstructed

Indica che qualsiasi copia di valori di questo tipo deve utilizzare il costruttore di copia fornito dal tipo . Questa classe non può essere ereditata.

IsExplicitlyDereferenced

Indica che un puntatore gestito rappresenta un parametro puntatore all'interno di una firma del metodo. Questa classe non può essere ereditata.

IsExternalInit

Riservato per l'uso da parte del compilatore per il rilevamento dei metadati. Questa classe non deve essere usata dagli sviluppatori nel codice sorgente.

IsImplicitlyDereferenced

Indica che il riferimento di Garbage Collection modificato rappresenta un parametro di riferimento all'interno di una firma del metodo. Questa classe non può essere ereditata.

IsJitIntrinsic

Indica che un metodo modificato è un valore intrinseco per il quale il compilatore JIT (Just-In-Time) può eseguire una generazione di codice speciale. Questa classe non può essere ereditata.

IsLong

Indica che un numero intero modificato è un valore C++ standard long. Questa classe non può essere ereditata.

IsPinned

Indica che un'istanza modificata è bloccata in memoria. Questa classe non può essere ereditata.

IsReadOnlyAttribute

Contrassegna un elemento di programma come di sola lettura.

IsSignUnspecifiedByte

Indica che un modificatore non è firmato né senza segno. Questa classe non può essere ereditata.

IsUdtReturn

Indica che un tipo restituito è un tipo definito dall'utente. Questa classe non può essere ereditata.

IsUnmanagedAttribute

Riservato per l'uso da parte di un compilatore per il rilevamento dei metadati. Questo attributo non deve essere usato dagli sviluppatori nel codice sorgente.

IsVolatile

Contrassegna un campo come volatile. Questa classe non può essere ereditata.

IteratorStateMachineAttribute

Indica se un metodo in Visual Basic è contrassegnato con il modificatore Iterator.

IUnknownConstantAttribute

Indica che il valore predefinito per il campo o il parametro con attributi è un'istanza di UnknownWrapper, dove il WrappedObject è null. Questa classe non può essere ereditata.

MetadataUpdateOriginalTypeAttribute

Generato dal compilatore quando un tipo contrassegnato con CreateNewOnMetadataUpdateAttribute viene aggiornato durante una sessione di ricaricamento rapido.

MethodImplAttribute

Specifica i dettagli della modalità di implementazione di un metodo. Questa classe non può essere ereditata.

ModuleInitializerAttribute

Utilizzato per indicare al compilatore che un metodo deve essere chiamato nell'inizializzatore del modulo contenitore.

NativeCppClassAttribute

Applica i metadati a un assembly che indica che un tipo è un tipo non gestito. Questa classe non può essere ereditata.

NullableAttribute

Riservato per l'uso da parte di un compilatore per il rilevamento dei metadati. Questo attributo non deve essere usato dagli sviluppatori nel codice sorgente.

NullableContextAttribute

Riservato per l'uso da parte di un compilatore per il rilevamento dei metadati. Questo attributo non deve essere usato dagli sviluppatori nel codice sorgente.

NullablePublicOnlyAttribute

Riservato per l'uso da parte di un compilatore per il rilevamento dei metadati. Questo attributo non deve essere usato dagli sviluppatori nel codice sorgente.

OverloadResolutionPriorityAttribute

Specifica la priorità di un membro nella risoluzione dell'overload. Se non specificato, la priorità predefinita è 0.

ParamCollectionAttribute

Indica che un metodo consente un numero variabile di argomenti nella chiamata.

PreserveBaseOverridesAttribute

Assicura che qualsiasi chiamata virtuale al metodo, indipendentemente dal fatto che usi la firma di base o la firma derivata del metodo, esegue l'override più derivato.

ReadOnlyCollectionBuilder<T>

Generatore per la raccolta di sola lettura.

ReferenceAssemblyAttribute

Identifica un assembly come assembly di riferimento, che contiene metadati ma non codice eseguibile.

RefSafetyRulesAttribute

Indica la versione della lingua delle regole di sicurezza di riferimento usate durante la compilazione del modulo.

RequiredAttributeAttribute

Specifica che un compilatore di importazione deve comprendere appieno la semantica di una definizione di tipo o rifiutarlo di usarlo. Questa classe non può essere ereditata.

RequiredMemberAttribute

Specifica che un tipo ha membri obbligatori o che è necessario un membro.

RequiresLocationAttribute

Riservato per l'uso da parte di un compilatore per il rilevamento dei metadati. Questo attributo non deve essere usato dagli sviluppatori nel codice sorgente.

RuleCache<T>

Rappresenta una cache di regole di associazione di runtime.

RuntimeCompatibilityAttribute

Specifica se eseguire il wrapping delle eccezioni che non derivano dalla classe Exception con un oggetto RuntimeWrappedException. Questa classe non può essere ereditata.

RuntimeFeature

Definisce le API per determinare se funzionalità specifiche sono supportate da Common Language Runtime.

RuntimeHelpers

Fornisce un set di metodi e proprietà statici che forniscono supporto per i compilatori. Questa classe non può essere ereditata.

RuntimeOps

Contiene metodi helper chiamati da metodi generati dinamicamente.

RuntimeWrappedException

Esegue il wrapping di un'eccezione che non deriva dalla classe Exception. Questa classe non può essere ereditata.

ScopedRefAttribute

Riservato per l'uso da parte di un compilatore per il rilevamento dei metadati. Questo attributo non deve essere usato dagli sviluppatori nel codice sorgente.

ScopelessEnumAttribute

Indica che un'enumerazione nativa non è qualificata dal nome del tipo di enumerazione. Questa classe non può essere ereditata.

SkipLocalsInitAttribute

Indica al compilatore che il flag init .locals non deve essere impostato nelle intestazioni del metodo annidate durante l'emissione di metadati.

SpecialNameAttribute

Indica che un tipo o un membro viene trattato in modo speciale dal runtime o dagli strumenti. Questa classe non può essere ereditata.

StateMachineAttribute

Consente di determinare se un metodo è un metodo della macchina a stati.

StringFreezingAttribute

Deprecato. Blocca un valore letterale stringa durante la creazione di immagini native usando il Ngen.exe (Generatore di immagini native). Questa classe non può essere ereditata.

StrongBox<T>

Contiene un riferimento a un valore.

SuppressIldasmAttribute

Impedisce al Ildasm.exe (disassembler IL) di disassemblare un assembly. Questa classe non può essere ereditata.

SwitchExpressionException

Indica che un'espressione switch non esaustiva non è riuscita a trovare la corrispondenza con l'input in fase di esecuzione. L'eccezione contiene facoltativamente un oggetto che rappresenta il valore non corrispondente.

TupleElementNamesAttribute

Indica che l'uso di una tupla di valori in un membro deve essere considerata come una tupla con nomi di elemento.

TypeForwardedFromAttribute

Specifica un Type di origine in un altro assembly.

TypeForwardedToAttribute

Specifica un Type di destinazione in un altro assembly.

Unsafe

Contiene funzionalità generica di basso livello per la modifica di puntatori gestiti e non gestiti.

UnsafeAccessorAttribute

Fornisce l'accesso a un membro inaccessibile di un tipo specifico.

UnsafeValueTypeAttribute

Specifica che un tipo contiene una matrice non gestita che potrebbe potenzialmente sovraccaricare. Questa classe non può essere ereditata.

Struct

AsyncIteratorMethodBuilder

Rappresenta un generatore per iteratori asincroni.

AsyncTaskMethodBuilder

Rappresenta un generatore per i metodi asincroni che restituiscono un'attività.

AsyncTaskMethodBuilder<TResult>

Rappresenta un generatore per i metodi asincroni che restituisce un'attività e fornisce un parametro per il risultato.

AsyncValueTaskMethodBuilder

Rappresenta un generatore per i metodi asincroni che restituiscono un ValueTask.

AsyncValueTaskMethodBuilder<TResult>

Rappresenta un generatore per i metodi asincroni che restituisce un ValueTask<TResult>.

AsyncVoidMethodBuilder

Rappresenta un generatore per i metodi asincroni che non restituiscono un valore.

ConfiguredAsyncDisposable

Fornisce un tipo che può essere usato per configurare l'esecuzione di await in un IAsyncDisposable.

ConfiguredCancelableAsyncEnumerable<T>.Enumerator

Fornisce un enumeratore asincrono awaitable che abilita l'iterazione annullabile e i await configurati.

ConfiguredCancelableAsyncEnumerable<T>

Fornisce un'enumerabile asincrona awaitable che consente l'iterazione annullabile e configurata in attesa.

ConfiguredTaskAwaitable

Fornisce un oggetto awaitable che abilita i await configurati in un'attività.

ConfiguredTaskAwaitable.ConfiguredTaskAwaiter

Fornisce un awaiter per un oggetto awaitable (ConfiguredTaskAwaitable).

ConfiguredTaskAwaitable<TResult>.ConfiguredTaskAwaiter

Fornisce un awaiter per un oggetto awaitable(ConfiguredTaskAwaitable<TResult>).

ConfiguredTaskAwaitable<TResult>

Fornisce un oggetto awaitable che abilita i await configurati in un'attività.

ConfiguredValueTaskAwaitable

Fornisce un tipo awaitable che abilita i await configurati in un ValueTask.

ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter

Fornisce un awaiter per un ConfiguredValueTaskAwaitable.

ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter

Fornisce un awaiter per un ConfiguredValueTaskAwaitable<TResult>.

ConfiguredValueTaskAwaitable<TResult>

Fornisce un tipo awaitable che abilita i await configurati in un ValueTask<TResult>.

DefaultInterpolatedStringHandler

Fornisce un gestore usato dal compilatore del linguaggio per elaborare le stringhe interpolate in istanze di String.

PoolingAsyncValueTaskMethodBuilder

Rappresenta un generatore per i metodi asincroni che restituiscono un ValueTask.

PoolingAsyncValueTaskMethodBuilder<TResult>

Rappresenta un generatore per i metodi asincroni che restituisce un ValueTask<TResult>.

TaskAwaiter

Fornisce un oggetto che attende il completamento di un'attività asincrona.

TaskAwaiter<TResult>

Rappresenta un oggetto che attende il completamento di un'attività asincrona e fornisce un parametro per il risultato.

ValueTaskAwaiter

Fornisce un awaiter per un ValueTask.

ValueTaskAwaiter<TResult>

Fornisce un awaiter per un ValueTask<TResult>.

YieldAwaitable

Fornisce il contesto per l'attesa quando si passa in modo asincrono a un ambiente di destinazione.

YieldAwaitable.YieldAwaiter

Fornisce un awaiter per il passaggio a un ambiente di destinazione.

Interfacce

IAsyncStateMachine

Rappresenta le macchine a stati generate per i metodi asincroni. Questo tipo è destinato solo all'uso del compilatore.

ICriticalNotifyCompletion

Rappresenta un awaiter che pianifica le continuazioni al termine di un'operazione await.

INotifyCompletion

Rappresenta un'operazione che pianifica le continuazioni al termine.

IRuntimeVariables

Rappresenta i valori delle variabili di runtime.

IStrongBox

Definisce una proprietà per l'accesso al valore a cui fa riferimento un oggetto.

ITuple

Definisce un'implementazione tupla per utilizzo generico che consente l'accesso ai membri dell'istanza di Tuple senza conoscere il tipo di tupla sottostante.

Enumerazioni

CompilationRelaxations

Specifica i parametri che controllano la rigidità del codice generato dal compilatore JIT (Just-In-Time) di Common Language Runtime.

LoadHint

Specifica l'associazione predefinita preferita per un assembly dipendente.

MethodCodeType

Definisce la modalità di implementazione di un metodo.

MethodImplOptions

Specifica le costanti che definiscono i dettagli della modalità di implementazione di un metodo.

UnsafeAccessorKind

Specifica il tipo di destinazione a cui un UnsafeAccessorAttribute fornisce l'accesso.

Delegati

ConditionalWeakTable<TKey,TValue>.CreateValueCallback

Rappresenta un metodo che crea un valore non predefinito da aggiungere come parte di una coppia chiave/valore a un oggetto ConditionalWeakTable<TKey,TValue>.

RuntimeHelpers.CleanupCode

Rappresenta un metodo da eseguire quando si verifica un'eccezione.

RuntimeHelpers.TryCode

Rappresenta un delegato al codice che deve essere eseguito in un blocco try.

Commenti

Questo spazio dei nomi è principalmente per i writer del compilatore, anche se diverse delle relative classi, ad esempio InternalsVisibleToAttribute, vengono usate in un'ampia gamma di applicazioni.