System.Runtime.CompilerServices Namespace

Stellt Funktionen für Compilerwriter bereit, die mithilfe von verwaltetem Code Attribute in Metadaten angeben, die das Laufzeitverhalten der Common Language Runtime beeinflussen.

Klassen

AccessedThroughPropertyAttribute

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

AsyncIteratorStateMachineAttribute

Gibt an, ob eine Methode ein asynchroner Iterator ist.

AsyncMethodBuilderAttribute

Gibt den Typ des Generators für asynchrone Methoden an, der von einem Sprachcompiler verwendet werden sollte, 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 dem async-Modifizierer gekennzeichnet ist.

CallConvCdecl

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

CallConvFastcall

Diese Aufrufkonvention wird in der vorliegenden 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 Aufrufkonvention unterdrücken sollte.

CallConvThiscall

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

CallerArgumentExpressionAttribute

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

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, in der die Methode aufgerufen wird.

CallerMemberNameAttribute

Ermöglicht das Abrufen des Methoden- oder Eigenschaftsnamens des Methodenaufrufers.

CallSite

Eine Basisklasse für eine dynamische Aufrufsite. Dieser Typ wird als Parametertyp für die dynamischen Siteziele verwendet.

CallSite<T>

Typ der dynamischen Site.

CallSiteBinder

Die für die Laufzeitbindung von dynamischen Vorgängen auf der dynamischen Aufrufsite zuständige Klasse.

CallSiteHelpers

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

CallSiteOps

Erstellt Bindungsregeln und speichert sie zwischen.

Closure

Stellt den Laufzeitzustand einer dynamisch generierten Methode dar.

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 benutzergenerierten Element. Diese Klasse kann nicht vererbt werden.

CompilerGlobalScopeAttribute

Gibt an, dass eine Klasse behandelt werden soll, als verfüge Sie über einen globalen Gültigkeitsbereich.

CompilerMarshalOverride

Gibt an, dass die modifizierte Instanz einer Variablen beim Marshallen von ihrem tatsächlichen Typ abweicht. Diese Klasse kann nicht vererbt werden.

ConditionalWeakTable<TKey,TValue>

Ermöglicht, dass Compiler dynamisch Objektfelder an verwaltete Objekte anfügen können.

ContractHelper

Stellt Methoden bereit, mit denen der Binary Rewriter Vertragsfehler behandelt.

CppInlineNamespaceAttribute

Definiert den Inlinenamespace in C++ bzw der CLI.

CreateNewOnMetadataUpdateAttribute

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

CustomConstantAttribute

Definiert einen konstanten Wert, den ein Compiler für einen Feld- oder Methodenparameter beibehalten kann.

DateTimeConstantAttribute

Behält eine DateTime-Konstante von 8 Bytes für ein Feld oder einen Parameter bei.

DebugInfoGenerator

Generiert Debuginformationen für Lambdaausdrücke in einer Ausdrucksbaumstruktur.

DecimalConstantAttribute

Speichert den Wert einer Decimal-Konstanten in den Metadaten. Diese Klasse kann nicht vererbt werden.

DefaultDependencyAttribute

Stellt einen Hinweis für die Common Language Runtime (CLR) bereit, der angibt, wie groß die Wahrscheinlichkeit ist, dass eine Abhängigkeit geladen wird. Mit dieser Klasse wird in einer abhängigen Assembly angegeben, welcher Hinweis verwendet werden muss, wenn das DependencyAttribute-Attribut nicht vom übergeordneten Element angegeben wird. Diese Klasse kann nicht vererbt werden.

DependencyAttribute

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

DisablePrivateReflectionAttribute

Gibt an, dass private Member in einem Assemblytyp nicht für die Reflektion verfügbar sind.

DisableRuntimeMarshallingAttribute

Deaktiviert das integrierte runtime managed/unmanaged marshalling subsystem for P/Invokes, Delegate types, and unmanaged function pointer invocations.

DiscardableAttribute

Markiert, dass eine Typdefinition verworfen werden kann.

DynamicAttribute

Gibt an, dass die Verwendung von Object bei einem Member wie ein dynamisch weitergeleiteter Typ behandelt werden soll.

EnumeratorCancellationAttribute

Ermöglicht es Benutzern von Methoden mit Unterstützung einer asynchronen Enumeration, den Parameter zu markieren, der den Abbruchtokenwert aus GetAsyncEnumerator(CancellationToken) empfangen soll.

ExecutionScope

Stellt den Laufzeitzustand einer dynamisch generierten Methode dar.

ExtensionAttribute

Gibt an, dass es sich bei einer Methode um eine Erweiterungsmethode handelt oder dass eine Klasse oder Assembly Erweiterungsmethoden enthält.

FixedAddressValueTypeAttribute

Korrigiert die Adresse eines statischen Werttypfelds während dessen gesamter Lebensdauer. Diese Klasse kann nicht vererbt werden.

FixedBufferAttribute

Gibt an, dass ein Feld als Feld mit einer festen Anzahl von Elementen des angegebenen primitiven Typs behandelt werden soll. Diese Klasse kann nicht vererbt werden.

FormattableStringFactory

Stellt eine statische Methode zum Erstellen eines FormattableString-Objekts aus einer kombinierten Formatzeichenfolge und ihren Argumenten zur Verfügung.

HasCopySemanticsAttribute

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

IDispatchConstantAttribute

Gibt an, dass der Standardwert für das attributierte Feld oder den attributierten Parameter eine Instanz von DispatchWrapper ist, wobei WrappedObject den Wert null hat.

IndexerNameAttribute

Gibt den Namen an, unter dem ein Indexer in Programmiersprachen ohne direkte Indexer-Unterstützung verwendet wird.

InternalsVisibleToAttribute

Gibt an, dass Typen, i. d. R. nur innerhalb der aktuellen Assembly sichtbar sind, auch in einer angegebenen Assembly angezeigt werden können.

InterpolatedStringHandlerArgumentAttribute

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

InterpolatedStringHandlerAttribute

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

IsBoxed

Gibt an, dass der geänderte Verweistyp einen geschachtelten Werttyp darstellt. Diese Klasse kann nicht vererbt werden.

IsByRefLikeAttribute

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

IsByValue

Gibt an, dass ein modifiziertes Methodenargument als Objekt mit Wertübergabe-Semantik interpretiert werden soll. Dieser Modifizierer wird auf Verweistypen angewendet. Diese Klasse kann nicht vererbt werden.

IsConst

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

IsCopyConstructed

Gibt an, dass zum Kopieren von Werten dieses Typs der vom Typ bereitgestellte Kopierkonstruktor verwendet werden muss. Diese Klasse kann nicht vererbt werden.

IsExplicitlyDereferenced

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

IsExternalInit

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

IsImplicitlyDereferenced

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

IsJitIntrinsic

Gibt an, dass eine modifizierte Methode ein systeminterner Wert ist, für den der JIT (Just-In-Time)-Compiler speziellen Code generieren kann. Diese Klasse kann nicht vererbt werden.

IsLong

Gibt an, dass eine geänderte ganze Zahl einen long-Standardwert in C++ darstellt. Diese Klasse kann nicht vererbt werden.

IsPinned

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

IsReadOnlyAttribute

Kennzeichnet ein Programmelement als schreibgeschützt.

IsSignUnspecifiedByte

Gibt an, dass ein Modifizierer weder signed noch unsigned lautet. Diese Klasse kann nicht vererbt werden.

IsUdtReturn

Gibt an, dass ein Rückgabetyp einen benutzerdefinierten Typ darstellt. Diese Klasse kann nicht vererbt werden.

IsVolatile

Kennzeichnet ein Feld als veränderlich. Diese Klasse kann nicht vererbt werden.

IteratorStateMachineAttribute

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

IUnknownConstantAttribute

Gibt an, dass der Standardwert für das attributierte Feld oder den attributierten Parameter eine Instanz von UnknownWrapper ist, wobei WrappedObject den Wert null hat. Diese Klasse kann nicht vererbt werden.

MetadataUpdateOriginalTypeAttribute

Wird vom Compiler ausgegeben, wenn ein Typ, der gekennzeichnet CreateNewOnMetadataUpdateAttribute ist, während einer heißen Neuladesitzung aktualisiert wird.

MethodImplAttribute

Gibt die Implementierungsdetails für eine Methode an. Diese Klasse kann nicht vererbt werden.

ModuleInitializerAttribute

Wird verwendet, um dem Compiler mitzuteilen, dass eine Methode im Initialisierer des zugehörigen Moduls aufgerufen werden soll.

NativeCppClassAttribute

Wendet Metadaten auf eine Assembly an, die angibt, dass ein Typ einen nicht verwalteten Typ darstellt. Diese Klasse kann nicht vererbt werden.

PreserveBaseOverridesAttribute

Stellt sicher, dass alle virtuellen Aufrufe der Methode unabhängig davon, ob die Basissignatur oder die abgeleitete Signatur der Methode verwendet wird, die am meisten abgeleitete Außerkraftsetzung ausführen.

ReadOnlyCollectionBuilder<T>

Der Generator für schreibgeschützte Auflistungen.

ReferenceAssemblyAttribute

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

RequiredAttributeAttribute

Gibt an, dass ein importierender Compiler die Semantik einer Typdefinition vollständig verstehen oder deren Verwendung verweigern muss. Diese Klasse kann nicht vererbt werden.

RequiredMemberAttribute

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

RuleCache<T>

Stellt einen Cache von Laufzeitbindungsregeln dar.

RuntimeCompatibilityAttribute

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

RuntimeFeature

Diese Klasse definiert APIs, um zu bestimmen, ob bestimmte Features durch die Common Language Runtime unterstützt werden.

RuntimeHelpers

Stellt eine Reihe von statischen Methoden und Eigenschaften für die Unterstützung von Compilern zur Verfügung. Diese Klasse kann nicht vererbt werden.

RuntimeOps

Enthält von dynamisch generierten Methoden aufgerufene Hilfsmethoden.

RuntimeWrappedException

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

ScopelessEnumAttribute

Gibt an, dass eine systemeigene Enumeration nicht durch den Enumerationstypnamen qualifiziert wird. Diese Klasse kann nicht vererbt werden.

SkipLocalsInitAttribute

Gibt dem Compiler an, dass das Init-Flag „.locals“ bei der Ausgabe an Metadaten nicht in geschachtelten Methodenheadern festgelegt werden sollte.

SpecialNameAttribute

Gibt an, dass ein Typ oder Member von der Laufzeit oder den Tools auf besondere Weise behandelt wird. Diese Klasse kann nicht vererbt werden.

StateMachineAttribute

Hiermit können Sie ermitteln, ob es sich bei einer Methode um eine Zustandsautomatenmethode handelt.

StringFreezingAttribute

Veraltet. Fixiert ein Zeichenfolgenliteral beim Erstellen von nativen Abbildern mit Ngen.exe (Native Image Generator). Diese Klasse kann nicht vererbt werden.

StrongBox<T>

Enthält einen Verweis auf einen Wert.

SuppressIldasmAttribute

Verhindert, dass Ildasm.exe (IL Disassembler) eine Assembly disassembliert. Diese Klasse kann nicht vererbt werden.

SwitchExpressionException

Zeigt an, dass ein unvollständiger switch-Ausdruck zur Laufzeit nicht mit seiner Eingabe übereinstimmte. Die Ausnahme enthält optional ein Objekt, das den nicht übereinstimmenden Wert darstellt.

TupleElementNamesAttribute

Gibt an, dass ein Werttupel bei Verwendung für einen Member als ein Tupel mit Elementnamen behandelt werden soll.

TypeForwardedFromAttribute

Gibt den Quell-Type in einer anderen Assembly an.

TypeForwardedToAttribute

Gibt den Ziel-Type in einer anderen Assembly an.

Unsafe

Enthält generische, niedrige Funktionen für die Bearbeitung verwalteter und nicht verwalteter Zeiger.

UnsafeValueTypeAttribute

Gibt an, dass ein Typ ein nicht verwaltetes Array enthält, für das unter Umständen ein Überlauf auftreten kann. Diese Klasse kann nicht vererbt 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 stellt einen Parameter für das Ergebnis bereit.

AsyncValueTaskMethodBuilder

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

AsyncValueTaskMethodBuilder<TResult>

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

AsyncVoidMethodBuilder

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

ConfiguredAsyncDisposable

Bietet einen Typ, mit dem konfiguriert werden kann, wie Wartezeiten an IAsyncDisposable ausgeführt werden.

ConfiguredCancelableAsyncEnumerable<T>.Enumerator

Bietet einen asynchronen awaitable-Enumerator, der eine abbrechbare Iteration und konfigurierte Wartezeiten ermöglicht.

ConfiguredCancelableAsyncEnumerable<T>

Bietet einen asynchronen aufzählbaren awaitable-Wert, der eine abbrechbare Iteration und konfigurierte Wartezeiten ermöglicht.

ConfiguredTaskAwaitable

Stellt ein awaitable-Objekt bereit, das konfigurierte Awaits bei einem Task zulässt.

ConfiguredTaskAwaitable.ConfiguredTaskAwaiter

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

ConfiguredTaskAwaitable<TResult>.ConfiguredTaskAwaiter

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

ConfiguredTaskAwaitable<TResult>

Stellt ein awaitable-Objekt bereit, das konfigurierte Awaits bei einem Task zulässt.

ConfiguredValueTaskAwaitable

Stellt einen awaitable-Typ bereit, der konfigurierte Awaits bei einem ValueTask zulässt.

ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter

Stellt einen Awaiter für ConfiguredValueTaskAwaitable bereit.

ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter

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

ConfiguredValueTaskAwaitable<TResult>

Stellt einen awaitable-Typ bereit, der konfigurierte Awaits bei einem ValueTask<TResult> zulässt.

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 ValueTask zurückgeben.

PoolingAsyncValueTaskMethodBuilder<TResult>

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

TaskAwaiter

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

TaskAwaiter<TResult>

Stellt ein Objekt dar, das auf die Beendigung einer asynchronen Aufgabe wartet, und stellt einen Parameter für das Ergebnis bereit.

ValueTaskAwaiter

Stellt einen Awaiter für ValueTask bereit.

ValueTaskAwaiter<TResult>

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

YieldAwaitable

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

YieldAwaitable.YieldAwaiter

Stellt ein awaiter-Element für den Wechsel zu einer Zielumgebung bereit.

Schnittstellen

IAsyncStateMachine

Stellt Zustandsautomaten dar, die für asynchrone Methoden generiert werden. Dieser Typ ist ausschließlich zur Compiler-Verwendung vorgesehen.

ICriticalNotifyCompletion

Stellt ein awaiter-Element dar, das Fortsetzungen plant, wenn ein await-Vorgang abgeschlossen wird.

INotifyCompletion

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

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 Tupelimplementierung für allgemeine Zwecke, die den Zugriff auf Tupelinstanzmember ermöglicht, ohne dass der zugrunde liegende Tupeltyp bekannt ist.

Enumerationen

CompilationRelaxations

Gibt Parameter an, die den Grad der Strenge von Code steuern, der vom JIT-Compiler (Just-in-Time) der Common Language Runtime generiert wurde.

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.

Delegaten

ConditionalWeakTable<TKey,TValue>.CreateValueCallback

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

RuntimeHelpers.CleanupCode

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

RuntimeHelpers.TryCode

Stellt einen Delegaten für Code dar, der in einem try-Block ausgeführt werden soll.

Hinweise

Dieser Namespace ist in erster Linie für Compilerautoren geeignet, obwohl mehrere seiner Klassen, z. B. , in einer Vielzahl von InternalsVisibleToAttribute Anwendungen verwendet werden.