Teilen über


System.Runtime.CompilerServices Namespace

Stellt Funktionen für Compilerautoren bereit, die verwalteten Code verwenden, um Attribute in Metadaten anzugeben, die sich auf das Laufzeitverhalten der Common Language Runtime auswirken.

Klassen

AccessedThroughPropertyAttribute

Gibt den Namen der Eigenschaft an, die auf das Attributfeld zugreift.

AsyncIteratorStateMachineAttribute

Gibt an, ob es sich bei einer Methode um einen asynchronen Iterator handelt.

AsyncMethodBuilderAttribute

Gibt den Typ des asynchronen Methoden-Generators an, der von einem Sprachcompiler verwendet werden soll, um den Attributtyp zu erstellen, wenn er als Rückgabetyp einer asynchronen Methode verwendet wird.

AsyncStateMachineAttribute

Gibt an, ob eine Methode entweder mit dem Async- oder asynchronen Modifizierer gekennzeichnet ist.

CallConvCdecl

Gibt an, dass eine Methode die Cdecl Aufrufkonvention verwenden soll.

CallConvFastcall

Diese Aufrufkonvention wird in dieser Version von .NET nicht unterstützt.

CallConvMemberFunction

Gibt an, dass die verwendete Aufrufkonvention die Memberfunktionsvariante ist.

CallConvStdcall

Gibt an, dass eine Methode die StdCall Aufrufkonvention verwenden soll.

CallConvSuppressGCTransition

Gibt an, dass eine Methode den GC-Übergang als Teil der aufrufenden Konvention unterdrücken soll.

CallConvSwift

Gibt an, dass eine Methode die Swift Aufrufkonvention verwenden soll.

CallConvThiscall

Gibt an, dass eine Methode die ThisCall Aufrufkonvention verwenden soll.

CallerArgumentExpressionAttribute

Gibt an, dass ein Parameter den für einen anderen Parameter übergebenen Ausdruck als Zeichenfolge erfasst.

CallerFilePathAttribute

Ermöglicht das Abrufen des vollständigen Pfads der Quelldatei, die den Aufrufer enthält. Dies ist der Dateipfad zum Zeitpunkt der Kompilierung.

CallerLineNumberAttribute

Ermöglicht das Abrufen der Zeilennummer in der Quelldatei, bei der die Methode aufgerufen wird.

CallerMemberNameAttribute

Ermöglicht das Abrufen des Methoden- oder Eigenschaftennamens des Aufrufers für die Methode.

CallSite

Eine Basisklasse für dynamische Anrufwebsites. Dieser Typ wird als Parametertyp für die dynamischen Websiteziele verwendet.

CallSite<T>

Dynamischer Websitetyp.

CallSiteBinder

Klasse, die für die Laufzeitbindung der dynamischen Vorgänge auf der dynamischen Aufrufwebsite verantwortlich ist.

CallSiteHelpers

Klasse, die Hilfsmethoden für DLR-CallSites enthält.

CallSiteOps

Erstellt und zwischenspeichert Bindungsregeln.

Closure

Stellt den Laufzeitstatus einer dynamisch generierten Methode dar.

CollectionBuilderAttribute

Stellt Funktionen für Compilerautoren bereit, die verwalteten Code verwenden, um Attribute in Metadaten anzugeben, die sich auf das Laufzeitverhalten der Common Language Runtime auswirken.

CompilationRelaxationsAttribute

Steuert die Strenge des Codes, der vom Just-in-Time(JIT)-Compiler der Common Language Runtime generiert wird.

CompilerFeatureRequiredAttribute

Gibt an, dass die Compilerunterstützung für ein bestimmtes Feature für den Speicherort erforderlich ist, an dem dieses Attribut angewendet wird.

CompilerGeneratedAttribute

Unterscheidet ein vom Compiler generiertes Element von einem vom Benutzer generierten Element. Diese Klasse kann nicht geerbt werden.

CompilerGlobalScopeAttribute

Gibt an, dass eine Klasse so behandelt werden soll, als ob sie über einen globalen Bereich verfügt.

CompilerMarshalOverride

Gibt an, dass sich die geänderte Instanz einer Variablen vom tatsächlichen Typ beim Marshalling unterscheidet. Diese Klasse kann nicht geerbt werden.

ConditionalWeakTable<TKey,TValue>

Ermöglicht Compilern das dynamische Anfügen von Objektfeldern an verwaltete Objekte.

ContractHelper

Stellt Methoden bereit, die der binäre Neuschreiber zum Behandeln von Vertragsfehlern verwendet.

CppInlineNamespaceAttribute

Definiert den Inlinenamespace in C++/CLI.

CreateNewOnMetadataUpdateAttribute

Gibt an, dass ein Typ ersetzt werden soll und nicht aktualisiert werden soll, wenn Metadatenaktualisierungen angewendet werden.

CustomConstantAttribute

Definiert einen Konstantenwert, den ein Compiler für ein Feld oder einen Methodenparameter beibehalten kann.

DateTimeConstantAttribute

Speichert eine 8-Byte-DateTime Konstante für ein Feld oder einen Parameter.

DebugInfoGenerator

Generiert Debuginformationen für Lambda-Ausdrücke in einer Ausdrucksstruktur.

DecimalConstantAttribute

Speichert den Wert einer Decimal Konstante in Metadaten. Diese Klasse kann nicht geerbt werden.

DefaultDependencyAttribute

Stellt einen Hinweis auf die Common Language Runtime (CLR) bereit, die angibt, wie wahrscheinlich eine Abhängigkeit geladen werden soll. Diese Klasse wird in einer abhängigen Assembly verwendet, um anzugeben, welche Hinweise verwendet werden sollen, wenn das übergeordnete Element das attribut DependencyAttribute nicht angibt. Diese Klasse kann nicht geerbt werden.

DependencyAttribute

Gibt an, wann eine Abhängigkeit von der verweisenden Assembly geladen werden soll. Diese Klasse kann nicht geerbt werden.

DisablePrivateReflectionAttribute

Gibt an, dass alle privaten Member, die in den Typen einer Assembly enthalten sind, nicht zur Spiegelung verfügbar sind.

DisableRuntimeMarshallingAttribute

Deaktiviert das integrierte verwaltete/nicht verwaltete Marshalling-Subsystem für P/Invokes, Delegate-Typen und nicht verwaltete Funktionszeigeraufrufe.

DiscardableAttribute

Markiert eine Typdefinition als verworfen.

DynamicAttribute

Gibt an, dass die Verwendung von Object für ein Element als dynamisch verteilter Typ behandelt werden soll.

EnumeratorCancellationAttribute

Ermöglicht Benutzern von async-enumerable Methoden, den Parameter zu markieren, der den Abbruchtokenwert von GetAsyncEnumerator(CancellationToken)empfangen soll.

ExecutionScope

Stellt den Laufzeitstatus einer dynamisch generierten Methode dar.

ExtensionAttribute

Gibt an, dass eine Methode eine Erweiterungsmethode ist oder eine Klasse oder Assembly Erweiterungsmethoden enthält.

FixedAddressValueTypeAttribute

Behebt die Adresse eines statischen Werttypfelds während der gesamten Lebensdauer. Diese Klasse kann nicht geerbt werden.

FixedBufferAttribute

Gibt an, dass ein Feld als eine feste Anzahl von Elementen des angegebenen Grundtyps behandelt werden soll. Diese Klasse kann nicht geerbt werden.

FormattableStringFactory

Stellt eine statische Methode bereit, um ein FormattableString -Objekt aus einer zusammengesetzten Formatzeichenfolge und den zugehörigen Argumenten zu erstellen.

HasCopySemanticsAttribute

Diese Klasse ist veraltet. Diese Klasse kann nicht geerbt werden.

IDispatchConstantAttribute

Gibt an, dass der Standardwert für das attributiert Feld oder Parameter eine Instanz von DispatchWrapperist, wobei die WrappedObjectnullist.

IndexerNameAttribute

Gibt den Namen an, mit dem ein Indexer in Programmiersprachen bekannt ist, die Indexer nicht direkt unterstützen.

InlineArrayAttribute

Gibt an, dass der Speicher der Instanz sequenziell Length Mal repliziert wird.

InternalsVisibleToAttribute

Gibt an, dass Typen, die nur innerhalb der aktuellen Assembly sichtbar sind, für eine angegebene Assembly sichtbar sind.

InterpolatedStringHandlerArgumentAttribute

Gibt an, welche Argumente für eine Methode mit einem interpolierten Zeichenfolgenhandler an diesen Handler übergeben werden sollen.

InterpolatedStringHandlerAttribute

Gibt an, dass der Attributtyp als interpolierter Zeichenfolgenhandler verwendet werden soll.

IsBoxed

Gibt an, dass der geänderte Bezugstyp ein Feldwerttyp ist. Diese Klasse kann nicht geerbt werden.

IsByRefLikeAttribute

Gibt an, dass eine Struktur byref-ähnlich ist.

IsByValue

Gibt an, dass ein geändertes Methodenargument als übergebene Objektsemantik interpretiert werden soll. Dieser Modifizierer wird auf Verweistypen angewendet. Diese Klasse kann nicht geerbt werden.

IsConst

Gibt an, dass der geänderte Typ über einen const Modifizierer verfügt. Diese Klasse kann nicht geerbt werden.

IsCopyConstructed

Gibt an, dass jedes Kopieren von Werten dieses Typs den vom Typ bereitgestellten Kopierkonstruktor verwenden muss. Diese Klasse kann nicht geerbt werden.

IsExplicitlyDereferenced

Gibt an, dass ein verwalteter Zeiger einen Zeigerparameter innerhalb einer Methodensignatur darstellt. Diese Klasse kann nicht geerbt werden.

IsExternalInit

Reserviert für die Verwendung durch den Compiler zum Nachverfolgen von Metadaten. Diese Klasse sollte nicht von Entwicklern im Quellcode verwendet werden.

IsImplicitlyDereferenced

Gibt an, dass der geänderte Garbage Collection-Verweis einen Verweisparameter in einer Methodensignatur darstellt. Diese Klasse kann nicht geerbt werden.

IsJitIntrinsic

Gibt an, dass eine geänderte Methode ein systeminterner Wert ist, für den der JIT-Compiler spezielle Codegenerierungen ausführen kann. Diese Klasse kann nicht geerbt werden.

IsLong

Gibt an, dass eine geänderte ganze Zahl ein C++-long Standardwert ist. Diese Klasse kann nicht geerbt werden.

IsPinned

Gibt an, dass eine geänderte Instanz im Arbeitsspeicher angeheftet ist. Diese Klasse kann nicht geerbt werden.

IsReadOnlyAttribute

Markiert ein Programmelement als schreibgeschützt.

IsSignUnspecifiedByte

Gibt an, dass ein Modifizierer weder signiert noch nicht signiert ist. Diese Klasse kann nicht geerbt werden.

IsUdtReturn

Gibt an, dass ein Rückgabetyp ein benutzerdefinierter Typ ist. Diese Klasse kann nicht geerbt werden.

IsUnmanagedAttribute

Reserviert für die Verwendung durch einen Compiler zum Nachverfolgen von Metadaten. Dieses Attribut sollte nicht von Entwicklern im Quellcode verwendet werden.

IsVolatile

Markiert ein Feld als veränderlich. Diese Klasse kann nicht geerbt werden.

IteratorStateMachineAttribute

Gibt an, ob eine Methode in Visual Basic mit dem modifizierer Iterator markiert ist.

IUnknownConstantAttribute

Gibt an, dass der Standardwert für das attributiert Feld oder Parameter eine Instanz von UnknownWrapperist, wobei die WrappedObjectnullist. Diese Klasse kann nicht geerbt werden.

MetadataUpdateOriginalTypeAttribute

Wird vom Compiler ausgegeben, wenn ein Typ, der mit CreateNewOnMetadataUpdateAttribute gekennzeichnet ist, während einer hot reload-Sitzung aktualisiert wird.

MethodImplAttribute

Gibt die Details der Implementierung einer Methode an. Diese Klasse kann nicht geerbt werden.

ModuleInitializerAttribute

Wird verwendet, um dem Compiler anzugeben, dass eine Methode im enthaltenden Modulinitialisierer aufgerufen werden soll.

NativeCppClassAttribute

Wendet Metadaten auf eine Assembly an, die angibt, dass ein Typ ein nicht verwalteter Typ ist. Diese Klasse kann nicht geerbt werden.

NullableAttribute

Reserviert für die Verwendung durch einen Compiler zum Nachverfolgen von Metadaten. Dieses Attribut sollte nicht von Entwicklern im Quellcode verwendet werden.

NullableContextAttribute

Reserviert für die Verwendung durch einen Compiler zum Nachverfolgen von Metadaten. Dieses Attribut sollte nicht von Entwicklern im Quellcode verwendet werden.

NullablePublicOnlyAttribute

Reserviert für die Verwendung durch einen Compiler zum Nachverfolgen von Metadaten. Dieses Attribut sollte nicht von Entwicklern im Quellcode verwendet werden.

OverloadResolutionPriorityAttribute

Gibt die Priorität eines Elements in der Überladungsauflösung an. Wenn keine Angabe erfolgt, ist die Standardpriorität 0.

ParamCollectionAttribute

Gibt an, dass eine Methode eine variable Anzahl von Argumenten in ihrem Aufruf zulässt.

PreserveBaseOverridesAttribute

Stellt sicher, dass jeder virtuelle Aufruf der Methode, unabhängig davon, ob er die Basissignatur oder abgeleitete Signatur der Methode verwendet, die am meisten abgeleitete Außerkraftsetzung ausführt.

ReadOnlyCollectionBuilder<T>

Der Generator für schreibgeschützte Sammlung.

ReferenceAssemblyAttribute

Identifiziert eine Assembly als Referenzassembly, die Metadaten, aber keinen ausführbaren Code enthält.

RefSafetyRulesAttribute

Gibt die Sprachversion der Verweissicherheitsregeln an, die beim Kompilieren des Moduls verwendet werden.

RequiredAttributeAttribute

Gibt an, dass ein Importcompiler die Semantik einer Typdefinition vollständig verstehen muss oder die Verwendung verweigert. Diese Klasse kann nicht geerbt werden.

RequiredMemberAttribute

Gibt an, dass ein Typ über erforderliche Member verfügt oder dass ein Element erforderlich ist.

RequiresLocationAttribute

Reserviert für die Verwendung durch einen Compiler zum Nachverfolgen von Metadaten. Dieses Attribut sollte nicht von Entwicklern im Quellcode verwendet werden.

RuleCache<T>

Stellt einen Cache von Laufzeitbindungsregeln dar.

RuntimeCompatibilityAttribute

Gibt an, ob Ausnahmen umbrochen werden sollen, die nicht von der Exception-Klasse mit einem RuntimeWrappedException -Objekt abgeleitet werden. Diese Klasse kann nicht geerbt werden.

RuntimeFeature

Definiert APIs, um zu bestimmen, ob bestimmte Features von der Common Language Runtime unterstützt werden.

RuntimeHelpers

Stellt eine Reihe statischer Methoden und Eigenschaften bereit, die Unterstützung für Compiler bereitstellen. Diese Klasse kann nicht geerbt werden.

RuntimeOps

Enthält Hilfsmethoden, die aus dynamisch generierten Methoden aufgerufen werden.

RuntimeWrappedException

Umschließt eine Ausnahme, die nicht von der Exception Klasse abgeleitet ist. Diese Klasse kann nicht geerbt werden.

ScopedRefAttribute

Reserviert für die Verwendung durch einen Compiler zum Nachverfolgen von Metadaten. Dieses Attribut sollte nicht von Entwicklern im Quellcode verwendet werden.

ScopelessEnumAttribute

Gibt an, dass eine systemeigene Enumeration nicht durch den Namen des Enumerationstyps qualifiziert ist. Diese Klasse kann nicht geerbt werden.

SkipLocalsInitAttribute

Gibt an, dass das INIT-Flag für .locals nicht in geschachtelten Methodenheadern festgelegt werden soll, wenn metadatenmitt werden.

SpecialNameAttribute

Gibt an, dass ein Typ oder Mitglied von der Laufzeit oder tools auf besondere Weise behandelt wird. Diese Klasse kann nicht geerbt werden.

StateMachineAttribute

Ermöglicht Ihnen zu bestimmen, ob es sich bei einer Methode um eine Zustandsautomatmethode handelt.

StringFreezingAttribute

Veraltet. Fixiert ein Zeichenfolgenliteral beim Erstellen systemeigener Bilder mithilfe des Ngen.exe (Native Image Generator). Diese Klasse kann nicht geerbt werden.

StrongBox<T>

Enthält einen Verweis auf einen Wert.

SuppressIldasmAttribute

Verhindert, dass der Ildasm.exe (IL Disassembler) eine Montage zerlegt. Diese Klasse kann nicht geerbt werden.

SwitchExpressionException

Gibt an, dass ein Switchausdruck, der nicht vollständig war, zur Laufzeit nicht mit der Eingabe übereinstimmte. Die Ausnahme enthält optional ein Objekt, das den nicht übereinstimmenden Wert darstellt.

TupleElementNamesAttribute

Gibt an, dass die Verwendung eines Wert-Tupels für ein Element als Tupel mit Elementnamen behandelt werden soll.

TypeForwardedFromAttribute

Gibt eine Quelle Type in einer anderen Assembly an.

TypeForwardedToAttribute

Gibt ein Ziel-Type in einer anderen Assembly an.

Unsafe

Enthält allgemeine Funktionen auf niedriger Ebene zum Bearbeiten verwalteter und nicht verwalteter Zeiger.

UnsafeAccessorAttribute

Bietet Zugriff auf ein nicht zugängliches Element eines bestimmten Typs.

UnsafeValueTypeAttribute

Gibt an, dass ein Typ ein nicht verwaltetes Array enthält, das potenziell überläuft. Diese Klasse kann nicht geerbt werden.

Strukturen

AsyncIteratorMethodBuilder

Stellt einen Generator für asynchrone Iteratoren dar.

AsyncTaskMethodBuilder

Stellt einen Generator für asynchrone Methoden dar, die eine Aufgabe zurückgeben.

AsyncTaskMethodBuilder<TResult>

Stellt einen Generator für asynchrone Methoden dar, die eine Aufgabe zurückgeben und einen Parameter für das Ergebnis bereitstellt.

AsyncValueTaskMethodBuilder

Stellt einen Generator für asynchrone Methoden dar, die eine ValueTaskzurückgeben.

AsyncValueTaskMethodBuilder<TResult>

Stellt einen Generator für asynchrone Methoden dar, die einen ValueTask<TResult>zurückgeben.

AsyncVoidMethodBuilder

Stellt einen Generator für asynchrone Methoden dar, die keinen Wert zurückgeben.

ConfiguredAsyncDisposable

Stellt einen Typ bereit, der verwendet werden kann, um zu konfigurieren, wie awaits on an IAsyncDisposable ausgeführt werden.

ConfiguredCancelableAsyncEnumerable<T>.Enumerator

Stellt einen abwartbaren asynchronen Enumerator bereit, der abbruchfähige Iterationen und konfigurierte Awaits ermöglicht.

ConfiguredCancelableAsyncEnumerable<T>

Stellt eine abwartbare asynchrone Enumeration bereit, die abbruchfähige Iterationen und konfigurierte Awaits ermöglicht.

ConfiguredTaskAwaitable

Stellt ein awaitable -Objekt bereit, das konfigurierte Awaits für eine Aufgabe ermöglicht.

ConfiguredTaskAwaitable.ConfiguredTaskAwaiter

Stellt einen Awaiter für ein awaitable (ConfiguredTaskAwaitable) -Objekt bereit.

ConfiguredTaskAwaitable<TResult>.ConfiguredTaskAwaiter

Stellt einen Awaiter für ein awaitable -Objekt(ConfiguredTaskAwaitable<TResult>) bereit.

ConfiguredTaskAwaitable<TResult>

Stellt ein awaitable -Objekt bereit, das konfigurierte Awaits für eine Aufgabe ermöglicht.

ConfiguredValueTaskAwaitable

Stellt einen awaitablen Typ bereit, der konfigurierte Awaits für eine ValueTaskaktiviert.

ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter

Stellt einen Awaiter für eine ConfiguredValueTaskAwaitablebereit.

ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter

Stellt einen Awaiter für eine ConfiguredValueTaskAwaitable<TResult>bereit.

ConfiguredValueTaskAwaitable<TResult>

Stellt einen awaitablen Typ bereit, der konfigurierte Awaits für eine ValueTask<TResult>aktiviert.

DefaultInterpolatedStringHandler

Stellt einen Handler bereit, der vom Sprachcompiler zum Verarbeiten interpolierter Zeichenfolgen in String Instanzen verwendet wird.

PoolingAsyncValueTaskMethodBuilder

Stellt einen Generator für asynchrone Methoden dar, die eine ValueTaskzurückgeben.

PoolingAsyncValueTaskMethodBuilder<TResult>

Stellt einen Generator für asynchrone Methoden dar, die einen ValueTask<TResult>zurückgeben.

TaskAwaiter

Stellt ein Objekt bereit, das auf den Abschluss einer asynchronen Aufgabe wartet.

TaskAwaiter<TResult>

Stellt ein Objekt dar, das auf den Abschluss einer asynchronen Aufgabe wartet und einen Parameter für das Ergebnis bereitstellt.

ValueTaskAwaiter

Stellt einen Awaiter für eine ValueTaskbereit.

ValueTaskAwaiter<TResult>

Stellt einen Awaiter für eine ValueTask<TResult>bereit.

YieldAwaitable

Stellt den Kontext für das Warten bereit, wenn asynchron in eine Zielumgebung gewechselt wird.

YieldAwaitable.YieldAwaiter

Stellt einen Awaiter zum Wechseln in eine Zielumgebung bereit.

Schnittstellen

IAsyncStateMachine

Stellt Zustandscomputer dar, die für asynchrone Methoden generiert werden. Dieser Typ ist nur für die Compilerverwendung vorgesehen.

ICriticalNotifyCompletion

Stellt einen Awaiter dar, der Fortsetzungen plant, wenn ein Await-Vorgang abgeschlossen ist.

INotifyCompletion

Stellt einen Vorgang dar, der Fortsetzungen plant, wenn er abgeschlossen ist.

IRuntimeVariables

Stellt die Werte von Laufzeitvariablen dar.

IStrongBox

Definiert eine Eigenschaft für den Zugriff auf den Wert, auf den ein Objekt verweist.

ITuple

Definiert eine allgemeine Tuple-Implementierung, die den Zugriff auf Tuple-Instanzmember ermöglicht, ohne den zugrunde liegenden Tuple-Typ zu kennen.

Enumerationen

CompilationRelaxations

Gibt Parameter an, die die Strenge des Codes steuern, der vom Just-in-Time(JIT)-Compiler der Common Language Runtime generiert wird.

LoadHint

Gibt die bevorzugte Standardbindung für eine abhängige Assembly an.

MethodCodeType

Definiert, wie eine Methode implementiert wird.

MethodImplOptions

Gibt Konstanten an, die die Details der Implementierung einer Methode definieren.

UnsafeAccessorKind

Gibt die Art des Ziels an, auf das ein UnsafeAccessorAttribute Zugriff bereitstellt.

Delegaten

ConditionalWeakTable<TKey,TValue>.CreateValueCallback

Stellt eine Methode dar, die einen nicht standardmäßigen Wert erstellt, der als Teil eines Schlüssel-Wert-Paars zu einem ConditionalWeakTable<TKey,TValue> -Objekt hinzugefügt wird.

RuntimeHelpers.CleanupCode

Stellt eine Methode dar, die ausgeführt werden soll, wenn eine Ausnahme auftritt.

RuntimeHelpers.TryCode

Stellt einen Delegat an Code dar, der in einem Try-Block ausgeführt werden soll.

Hinweise

Dieser Namespace richtet sich in erster Linie an Compilerautoren, obwohl mehrere seiner Klassen, z. B. InternalsVisibleToAttribute, in einer Vielzahl von Anwendungen verwendet werden.