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

Name Beschreibung
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 markiert ist.

CallConvCdecl

Gibt an, dass eine Methode die Cdecl aufrufende Konvention verwenden soll.

CallConvFastcall

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

CallConvStdcall

Gibt an, dass eine Methode die StdCall aufrufende Konvention verwenden soll.

CallConvThiscall

Gibt an, dass eine Methode die ThisCall aufrufende Konvention verwenden soll.

CallerFilePathAttribute

Tags-Parameter, der mit einem bestimmten Pfad der Aufruferquelldatei gefüllt werden soll.

CallerLineNumberAttribute

Tags-Parameter, der mit einer bestimmten Anruferleitungsnummer gefüllt werden soll.

CallerMemberNameAttribute

Tags-Parameter, der mit einem bestimmten Namen des Aufrufers gefüllt werden soll.

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.

CompilationRelaxationsAttribute

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

CompilerGeneratedAttribute

Unterscheidet ein vom Compiler generiertes Element von einem vom Benutzer generierten Element. Diese Klasse kann nicht vererbt 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 vererbt 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.

CustomConstantAttribute

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

DateTimeConstantAttribute

Speichert eine 8-Byte-Konstante DateTime 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 vererbt 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 vererbt werden.

DependencyAttribute

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

DisablePrivateReflectionAttribute

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

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 vererbt werden.

FixedBufferAttribute

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

FormattableStringFactory

Stellt eine statische Methode zum Erstellen eines FormattableString Objekts aus einer zusammengesetzten Formatzeichenfolge und den zugehörigen Argumenten bereit.

HasCopySemanticsAttribute

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

IDispatchConstantAttribute

Gibt an, dass der Standardwert für das attributiert Feld oder Parameter eine Instanz von DispatchWrapper, wobei dies WrappedObject ist null.

IndexerNameAttribute

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

InternalsVisibleToAttribute

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

IsBoxed

Gibt an, dass der geänderte Bezugstyp ein Feldwerttyp ist. Diese Klasse kann nicht vererbt 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 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 jedes Kopieren von Werten dieses Typs den vom Typ bereitgestellten Kopierkonstruktor verwenden muss. Diese Klasse kann nicht vererbt werden.

IsExplicitlyDereferenced

Gibt an, dass ein verwalteter Zeiger einen Zeigerparameter innerhalb einer Methodensignatur darstellt. Diese Klasse kann nicht vererbt 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 geänderte Methode ein systeminterner Wert ist, für den der JIT-Compiler spezielle Codegenerierungen ausführen kann. Diese Klasse kann nicht vererbt werden.

IsLong

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

IsPinned

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

IsReadOnlyAttribute

Markiert ein Programmelement als schreibgeschützt.

IsSignUnspecifiedByte

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

IsUdtReturn

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

IsVolatile

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

IteratorStateMachineAttribute

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

IUnknownConstantAttribute

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

MethodImplAttribute

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

NativeCppClassAttribute

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

ReadOnlyCollectionBuilder<T>

Der Generator für schreibgeschützte Sammlung.

ReferenceAssemblyAttribute

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

RequiredAttributeAttribute

Gibt an, dass ein Importcompiler die Semantik einer Typdefinition vollständig verstehen muss oder die Verwendung verweigert. Diese Klasse kann nicht vererbt 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 vererbt 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 vererbt werden.

RuntimeOps

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

RuntimeWrappedException

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

ScopelessEnumAttribute

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

SpecialNameAttribute

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

StateMachineAttribute

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

StringFreezingAttribute

Deprecated. Fixiert ein Zeichenfolgenliteral beim Erstellen systemeigener Bilder mithilfe des Ngen.exe (Native Image Generator). Diese Klasse kann nicht vererbt 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 vererbt 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.

UnsafeValueTypeAttribute

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

Strukturen

Name Beschreibung
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.

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

Name Beschreibung
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

Name Beschreibung
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.

Delegaten

Name Beschreibung
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 ist in erster Linie für Compilerautoren bestimmt, obwohl mehrere seiner Klassen, wie z. B. InternalsVisibleToAttribute, in einer Vielzahl von Anwendungen verwendet werden.