System.Runtime.CompilerServices Spazio dei nomi

Fornisce una funzionalità che consente ai writer di compilatori che utilizzano codice gestito di specificare nei metadati attributi 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 di generatore del metodo asincrono che deve essere usato da un compilatore di linguaggio per compilare il tipo con attributo quando viene usato come tipo restituito di un metodo asincrono.

AsyncStateMachineAttribute

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

CallConvCdecl

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

CallConvFastcall

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

CallConvMemberFunction

Indica che la convenzione chiamante usata è la variante della funzione membro.

CallConvStdcall

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

CallConvSuppressGCTransition

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

CallConvSwift

Fornisce una funzionalità che consente ai writer di compilatori che utilizzano codice gestito di specificare nei metadati attributi che influiscono sul comportamento in fase di esecuzione di Common Language Runtime.

CallConvThiscall

Indica che un metodo dovrebbe 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 contenente il chiamante. Si tratta del 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 nome del metodo o della proprietà del chiamante per il metodo.

CallSite

Una classe di base del sito di chiamata dinamica. Questo tipo viene usato come tipo di parametro per le destinazioni di siti dinamici.

CallSite<T>

Tipo di sito dinamico.

CallSiteBinder

Classe responsabile per l'associazione di runtime delle operazioni dinamiche sul sito dinamico di chiamata.

CallSiteHelpers

Classe che contiene metodi di supporto per DLR CallSites.

CallSiteOps

Crea e memorizza nella cache regole di associazione.

Closure

Rappresenta lo stato di runtime di un metodo generato in modo dinamico.

CollectionBuilderAttribute

Fornisce una funzionalità che consente ai writer di compilatori che utilizzano codice gestito di specificare nei metadati attributi che influiscono sul comportamento in fase di esecuzione di Common Language Runtime.

CompilationRelaxationsAttribute

Controlla l'accuratezza del codice generato dal compilatore JIT (just-in-time) di Common Language Runtime.

CompilerFeatureRequiredAttribute

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

CompilerGeneratedAttribute

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

CompilerGlobalScopeAttribute

Indica che una classe deve essere gestita come se avesse ambito globale.

CompilerMarshalOverride

Indica che l'istanza modificata di una variabile differisce dal tipo TRUE durante il marshalling. La classe non può essere ereditata.

ConditionalWeakTable<TKey,TValue>

Consente ai compilatori di allegare dinamicamente campi dell'oggetto agli oggetti gestiti.

ContractHelper

Fornisce metodi usati dal rewriter binario per gestire gli errori di 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 parametro di un metodo o un campo.

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 una struttura a albero dell'espressione.

DecimalConstantAttribute

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

DefaultDependencyAttribute

Fornisce un suggerimento a Common Language Runtime (CLR) indicando le probabilità di caricamento di una dipendenza. Questa classe viene utilizzata in un assembly dipendente per indicare quale suggerimento utilizzare quando il padre non specifica l'attributo DependencyAttribute. La classe non può essere ereditata.

DependencyAttribute

Indica quando una dipendenza deve essere caricata dall'assembly a cui fa riferimento. La classe non può essere ereditata.

DisablePrivateReflectionAttribute

Indica che gli eventuali 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 annullabile.

DynamicAttribute

Indica che è l'utilizzo di Object su un membro va trattato come tipo inviato dinamicamente.

EnumeratorCancellationAttribute

Consente agli utenti di metodi enumerabili asincroni 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 in modo dinamico.

ExtensionAttribute

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

FixedAddressValueTypeAttribute

Imposta l'indirizzo di un campo di tipi valore statici per tutta la durata del campo. La classe non può essere ereditata.

FixedBufferAttribute

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

FormattableStringFactory

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

HasCopySemanticsAttribute

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

IDispatchConstantAttribute

Indica che il valore predefinito per il campo o il parametro con attributi è un'istanza di DispatchWrapper, in cui la proprietà WrappedObject è null.

IndexerNameAttribute

Indica il nome con cui è noto un indicizzatore nei linguaggi di programmazione che non supportano direttamente gli indicizzatori.

InlineArrayAttribute

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

InternalsVisibleToAttribute

Specifica che i tipi che sono in genere visibili solo all'interno dall'assembly corrente possono essere visualizzati da un assembly specificato.

InterpolatedStringHandlerArgumentAttribute

Indica quali argomenti di un metodo che coinvolgono un gestore di stringhe interpolate devono essere passati a tale gestore.

InterpolatedStringHandlerAttribute

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

IsBoxed

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

IsByRefLikeAttribute

Indica che una struttura di tipo ByRef.

IsByValue

Indica che un argomento di metodo modificato deve essere interpretato come avente una semantica di oggetti passati per valore. Questo modificatore viene applicato ai tipi di riferimento. La classe non può essere ereditata.

IsConst

Indica che per il tipo modificato è disponibile un modificatore const. La classe non può essere ereditata.

IsCopyConstructed

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

IsExplicitlyDereferenced

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

IsExternalInit

Riservata per l'utilizzo 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. La 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. La classe non può essere ereditata.

IsLong

Indica che un Integer modificato è un valore long C++ standard. La classe non può essere ereditata.

IsPinned

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

IsReadOnlyAttribute

Contrassegna un elemento del programma come di sola lettura.

IsSignUnspecifiedByte

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

IsUdtReturn

Indica che un tipo restituito è definito dall'utente. La 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. La 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, in cui la proprietà WrappedObject è null. La 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. La classe non può essere ereditata.

ModuleInitializerAttribute

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

NativeCppClassAttribute

Applica a un assembly metadati che indicano che un tipo è non gestito. La 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.

PreserveBaseOverridesAttribute

Assicura che qualsiasi chiamata virtuale al metodo, che usa la firma di base o la firma derivata del metodo, esegua 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 nessun codice eseguibile.

RefSafetyRulesAttribute

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

RequiredAttributeAttribute

Specifica che un compilatore di importazione deve essere in grado di interpretare correttamente la semantica di una definizione di un tipo o rifiutarne l'utilizzo. La 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 incapsulare le eccezioni che non derivano dalla classe Exception con un oggetto RuntimeWrappedException. La classe non può essere ereditata.

RuntimeFeature

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

RuntimeHelpers

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

RuntimeOps

Contiene metodi di supporto chiamati dai metodi generati dinamicamente.

RuntimeWrappedException

Esegue l'incapsulamento di un'eccezione che non deriva dalla classe Exception. La 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 l'enumerazione nativa non è caratterizzata dal nome completo del tipo di enumerazione. La classe non può essere ereditata.

SkipLocalsInitAttribute

Indica al compilatore che il flag di inizializzazione .locals non deve essere impostato nelle intestazioni di un metodo annidato durante la creazione dei metadati.

SpecialNameAttribute

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

StateMachineAttribute

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

StringFreezingAttribute

Deprecato. Blocca una stringa letterale durante la creazione di immagini native mediante Ngen.exe (generatore di immagini native). La classe non può essere ereditata.

StrongBox<T>

Contiene un riferimento a un valore.

SuppressIldasmAttribute

Impedisce il disassemblaggio dell'assembly tramite Ildasm.exe (Disassembler IL). La 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 senza corrispondenza.

TupleElementNamesAttribute

Indica che l'utilizzo di una tupla di valori in un membro deve essere considerato come quello di una tupla con nomi di elementi.

TypeForwardedFromAttribute

Specifica un oggetto Type di origine in un altro assembly.

TypeForwardedToAttribute

Specifica un oggetto Type di destinazione in un altro assembly.

Unsafe

Contiene funzionalità generica e 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 provocare un overflow. La classe non può essere ereditata.

Struct

AsyncIteratorMethodBuilder

Rappresenta un generatore per gli 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 elemento ValueTask.

AsyncValueTaskMethodBuilder<TResult>

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

AsyncVoidMethodBuilder

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

ConfiguredAsyncDisposable

Specifica un tipo che può essere usato per configurare la modalità di esecuzione delle attese per un IAsyncDisposable.

ConfiguredCancelableAsyncEnumerable<T>.Enumerator

Fornisce un enumeratore asincrono awaitable che consente iterazioni annullabili ed espressioni await configurate.

ConfiguredCancelableAsyncEnumerable<T>

Rende disponibile un elemento enumerabile asincrono awaitable che consente iterazioni annullabili ed espressioni await configurate.

ConfiguredTaskAwaitable

Fornisce un oggetto awaitable che consente la configurazione delle attese 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 consente la configurazione delle attese in un'attività.

ConfiguredValueTaskAwaitable

Fornisce un tipo awaitable che consente espressioni await configurate in un elemento ValueTask.

ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter

Specifica un awaiter per ConfiguredValueTaskAwaitable.

ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter

Specifica un awaiter per ConfiguredValueTaskAwaitable<TResult>.

ConfiguredValueTaskAwaitable<TResult>

Fornisce un tipo awaitable che consente espressioni await configurate in un elemento ValueTask<TResult>.

DefaultInterpolatedStringHandler

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

PoolingAsyncValueTaskMethodBuilder

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

PoolingAsyncValueTaskMethodBuilder<TResult>

Rappresenta un generatore per i metodi asincroni che restituiscono un elemento 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

Specifica un awaiter per ValueTask.

ValueTaskAwaiter<TResult>

Specifica un awaiter per ValueTask<TResult>.

YieldAwaitable

Fornisce il contesto per l'attesa durante il passaggio 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 è solo per uso del compilatore.

ICriticalNotifyCompletion

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

INotifyCompletion

Rappresenta un'operazione che pianifica le continuazioni al completamento.

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 di tupla generica che consente l'accesso ai membri dell'istanza di tupla senza che sia noto il tipo di tupla sottostante.

Enumerazioni

CompilationRelaxations

Specifica i parametri che controllano l'accuratezza 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 costanti che definiscono i dettagli della modalità di implementazione di un metodo.

UnsafeAccessorKind

Specifica il tipo di destinazione a cui un UnsafeAccessorAttribute oggetto 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 per 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.