System.Runtime.CompilerServices Namespace
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 |
| CallConvFastcall |
Diese Aufrufkonvention wird in dieser Version von .NET nicht unterstützt. |
| CallConvStdcall |
Gibt an, dass eine Methode die |
| CallConvThiscall |
Gibt an, dass eine Methode die |
| 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 |
| 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 |
| 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++ |
| 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 |
| IUnknownConstantAttribute |
Gibt an, dass der Standardwert für das attributiert Feld oder Parameter eine Instanz von UnknownWrapper, wobei dies WrappedObject ist |
| 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.