System.Runtime.CompilerServices Espace de noms

Fournit des fonctionnalités pour les writers de compilateur qui utilisent du code managé pour spécifier des attributs dans les métadonnées qui affectent le comportement du Common Language Runtime au moment de l'exécution.

Classes

AccessedThroughPropertyAttribute

Spécifie le nom de la propriété qui accède au champ avec attributs.

AsyncIteratorStateMachineAttribute

Indique si une méthode est un itérateur asynchrone.

AsyncMethodBuilderAttribute

Indique le type du générateur de méthodes asynchrones qui doit être utilisé par un compilateur de langage pour générer le type avec attributs quand il est utilisé comme type de retour d’une méthode asynchrone.

AsyncStateMachineAttribute

Indique si une méthode est marquée avec le modificateur Async ou async.

CallConvCdecl

Indique qu'une méthode doit utiliser la convention d'appel Cdecl.

CallConvFastcall

Cette convention d’appel n’est pas prise en charge dans cette version de .NET.

CallConvMemberFunction

Indique que la convention d’appel utilisée est la variante de fonction membre.

CallConvStdcall

Indique qu'une méthode doit utiliser la convention d'appel StdCall.

CallConvSuppressGCTransition

Indique qu’une méthode doit supprimer la transition de GC dans le cadre de la convention d’appel.

CallConvSwift

Fournit des fonctionnalités pour les writers de compilateur qui utilisent du code managé pour spécifier des attributs dans les métadonnées qui affectent le comportement du Common Language Runtime au moment de l'exécution.

CallConvThiscall

Indique qu'une méthode doit utiliser la convention d'appel ThisCall.

CallerArgumentExpressionAttribute

Indique qu’un paramètre capture l’expression passée pour un autre paramètre sous la forme d’une chaîne.

CallerFilePathAttribute

Permet d'obtenir le chemin d'accès complet du fichier source qui contient l'appelant. Il s'agit du chemin d'accès au fichier au moment de la compilation.

CallerLineNumberAttribute

Permet d'obtenir le numéro de ligne dans le fichier source auquel la méthode est appelée.

CallerMemberNameAttribute

Permet d'obtenir le nom de méthode ou de propriété de l'appelant de la méthode.

CallSite

Classe de base d'un site d'appel dynamique. Ce type est utilisé comme type de paramètre pour les cibles de site dynamique.

CallSite<T>

Type de site dynamique.

CallSiteBinder

Classe responsable de la liaison au moment de l'exécution des opérations dynamiques sur le site d'appel dynamique.

CallSiteHelpers

Classe qui contient des méthodes d'assistance pour les CallSites DLR.

CallSiteOps

Crée et met en cache les règles de liaison.

Closure

Représente l’état d’exécution d’une méthode générée dynamiquement.

CollectionBuilderAttribute

Fournit des fonctionnalités pour les writers de compilateur qui utilisent du code managé pour spécifier des attributs dans les métadonnées qui affectent le comportement du Common Language Runtime au moment de l'exécution.

CompilationRelaxationsAttribute

Contrôle la rigueur du code généré par le compilateur juste-à-temps (JIT) du Common Language Runtime.

CompilerFeatureRequiredAttribute

Indique que la prise en charge du compilateur pour une fonctionnalité particulière est requise pour l’emplacement où cet attribut est appliqué.

CompilerGeneratedAttribute

Distingue un élément généré par le compilateur d'un élément généré par l'utilisateur. Cette classe ne peut pas être héritée.

CompilerGlobalScopeAttribute

Indique qu'une classe doit être traitée comme si elle avait une portée globale.

CompilerMarshalOverride

Indique que l'instance modifiée d'une variable diffère de son type réel lors du marshaling. Cette classe ne peut pas être héritée.

ConditionalWeakTable<TKey,TValue>

Permet aux compilateurs d'attacher dynamiquement des champs objet aux objets managés.

ContractHelper

Fournit des méthodes que le module de réécriture binaire utilise pour gérer les échecs de contrats.

CppInlineNamespaceAttribute

Définit l’espace de noms inline en C++/dans l’interface CLI.

CreateNewOnMetadataUpdateAttribute

Indique qu’un type doit être remplacé plutôt que mis à jour lors de l’application de mises à jour de métadonnées.

CustomConstantAttribute

Définit une valeur de constante qu'un compilateur peut rendre persistante pour un champ ou un paramètre de méthode.

DateTimeConstantAttribute

Rend persistant une constante DateTime sur 8 octets pour un champ ou un paramètre.

DebugInfoGenerator

Génère des informations de débogage pour les expressions lambda dans une arborescence d’expression.

DecimalConstantAttribute

Stocke la valeur d’une constante Decimal dans les métadonnées. Cette classe ne peut pas être héritée.

DefaultDependencyAttribute

Fournit une indication au Common Language Runtime (CLR) quant à la probabilité de chargement d’une dépendance. Cette classe est utilisée dans un assembly dépendant pour indiquer quelle indication doit être utilisée quand le parent ne spécifie pas l’attribut DependencyAttribute. Cette classe ne peut pas être héritée.

DependencyAttribute

Indique quand une dépendance doit être chargée par l’assembly qui référence. Cette classe ne peut pas être héritée.

DisablePrivateReflectionAttribute

Indique que tous les membres privés contenus dans les types d'un assembly ne sont pas disponibles à des fins de réflexion.

DisableRuntimeMarshallingAttribute

Désactive le sous-système de marshaling managé/non managé du runtime intégré pour les appels P/Invokes, Les types délégués et les appels de pointeur de fonction non managés.

DiscardableAttribute

Marque une définition de type comme pouvant être éliminée.

DynamicAttribute

Indique que l'utilisation de Object sur un membre doit être traitée en tant que type distribué dynamiquement.

EnumeratorCancellationAttribute

Permet aux utilisateurs de méthodes async-enumerable de marquer le paramètre qui doit recevoir la valeur du jeton d’annulation de GetAsyncEnumerator(CancellationToken).

ExecutionScope

Représente l’état d’exécution d’une méthode générée dynamiquement.

ExtensionAttribute

Indique qu'une méthode est une méthode d'extension ou qu'une classe ou un assembly contient des méthodes d'extension.

FixedAddressValueTypeAttribute

Fixe l'adresse d'un champ de type valeur statique durant toute sa durée de vie. Cette classe ne peut pas être héritée.

FixedBufferAttribute

Indique qu'un champ doit être traité comme contenant un nombre fixe d'éléments du type primitif spécifié. Cette classe ne peut pas être héritée.

FormattableStringFactory

Fournit une méthode statique pour créer un objet FormattableString à partir d’une chaîne de format composite et de ses arguments.

HasCopySemanticsAttribute

Cette classe est obsolète. Cette classe ne peut pas être héritée.

IDispatchConstantAttribute

Indique que la valeur par défaut pour le champ ou paramètre avec attributs est une instance de DispatchWrapper, où WrappedObject est null.

IndexerNameAttribute

Indique le nom sous lequel un indexeur est connu dans les langages de programmation qui ne prennent pas en charge les indexeurs directement.

InlineArrayAttribute

Indique que le stockage du instance est répliqué Length de manière séquentielle.

InternalsVisibleToAttribute

Indique que les types habituellement visibles uniquement dans l'assembly actuel sont également visibles dans un assembly spécifié.

InterpolatedStringHandlerArgumentAttribute

Indique les arguments d’une méthode impliquant un gestionnaire de chaîne interpolé qui doivent être passés à ce gestionnaire.

InterpolatedStringHandlerAttribute

Indique que le type attribué doit être utilisé comme gestionnaire de chaîne interpolé.

IsBoxed

Indique que le type référence modifié est un type valeur boxed. Cette classe ne peut pas être héritée.

IsByRefLikeAttribute

Indique qu’une structure est de type byref.

IsByValue

Indique qu'un argument de méthode modifié doit être interprété comme ayant une sémantique d'objet « passé par valeur ». Ce modificateur est appliqué aux types référence. Cette classe ne peut pas être héritée.

IsConst

Indique que le type modifié a un modificateur const. Cette classe ne peut pas être héritée.

IsCopyConstructed

Indique que toute copie de valeurs de ce type doit utiliser le constructeur de copie fourni par le type. Cette classe ne peut pas être héritée.

IsExplicitlyDereferenced

Indique qu'un pointeur managé représente un paramètre pointeur dans une signature de méthode. Cette classe ne peut pas être héritée.

IsExternalInit

Réservé à utiliser par le compilateur pour le suivi des métadonnées. Cette classe ne doit pas être utilisée par les développeurs dans le code source.

IsImplicitlyDereferenced

Indique que la référence de garbage collection modifiée représente un paramètre de référence dans une signature de méthode. Cette classe ne peut pas être héritée.

IsJitIntrinsic

Indique qu’une méthode modifiée est une valeur intrinsèque pour laquelle le compilateur juste-à-temps (JIT) peut effectuer une génération de code spéciale. Cette classe ne peut pas être héritée.

IsLong

Indique qu'un entier modifié est une valeur long C++ standard. Cette classe ne peut pas être héritée.

IsPinned

Indique qu'une instance modifiée est épinglée en mémoire. Cette classe ne peut pas être héritée.

IsReadOnlyAttribute

Marque un élément de programme comme étant en lecture seule.

IsSignUnspecifiedByte

Indique qu'un modificateur n'est ni signé, ni non signé. Cette classe ne peut pas être héritée.

IsUdtReturn

Indique qu'un type de retour est un type défini par l'utilisateur. Cette classe ne peut pas être héritée.

IsUnmanagedAttribute

Réservé à une utilisation par un compilateur pour le suivi des métadonnées. Cet attribut ne doit pas être utilisé par les développeurs dans le code source.

IsVolatile

Marque un champ comme volatile. Cette classe ne peut pas être héritée.

IteratorStateMachineAttribute

Indique si une méthode en Visual Basic est marquée avec le modificateur Iterator.

IUnknownConstantAttribute

Indique que la valeur par défaut pour le champ ou paramètre avec attributs est une instance de UnknownWrapper, où WrappedObject est null. Cette classe ne peut pas être héritée.

MetadataUpdateOriginalTypeAttribute

Émis par le compilateur lorsqu’un type marqué avec CreateNewOnMetadataUpdateAttribute est mis à jour au cours d’une session de rechargement à chaud.

MethodImplAttribute

Spécifie les détails de l'implémentation d'une méthode. Cette classe ne peut pas être héritée.

ModuleInitializerAttribute

Utilisé pour indiquer au compilateur qu’une méthode doit être appelée dans l’initialiseur du module qui la contient.

NativeCppClassAttribute

Applique des métadonnées à un assembly qui indiquent qu'un type est non managé. Cette classe ne peut pas être héritée.

NullableAttribute

Réservé à une utilisation par un compilateur pour le suivi des métadonnées. Cet attribut ne doit pas être utilisé par les développeurs dans le code source.

NullableContextAttribute

Réservé à une utilisation par un compilateur pour le suivi des métadonnées. Cet attribut ne doit pas être utilisé par les développeurs dans le code source.

NullablePublicOnlyAttribute

Réservé à une utilisation par un compilateur pour le suivi des métadonnées. Cet attribut ne doit pas être utilisé par les développeurs dans le code source.

PreserveBaseOverridesAttribute

Garantit que tout appel virtuel à la méthode, qu’il utilise la signature de base ou la signature dérivée de la méthode, exécute le remplacement le plus dérivé.

ReadOnlyCollectionBuilder<T>

Générateur pour la collection en lecture seule.

ReferenceAssemblyAttribute

Identifie un assembly en tant qu'assembly de référence, qui contient des métadonnées, mais aucun code exécutable.

RefSafetyRulesAttribute

Indique la version linguistique des règles de sécurité ref utilisées lors de la compilation du module.

RequiredAttributeAttribute

Spécifie qu'un compilateur qui importe doit comprendre parfaitement la sémantique d'une définition de type, ou refuser de l'utiliser. Cette classe ne peut pas être héritée.

RequiredMemberAttribute

Spécifie qu’un type a des membres obligatoires ou qu’un membre est requis.

RequiresLocationAttribute

Réservé à une utilisation par un compilateur pour le suivi des métadonnées. Cet attribut ne doit pas être utilisé par les développeurs dans le code source.

RuleCache<T>

Représente un cache des règles de liaison au moment de l'exécution.

RuntimeCompatibilityAttribute

Spécifie s'il faut encapsuler les exceptions qui ne dérivent pas de la classe Exception avec un objet RuntimeWrappedException. Cette classe ne peut pas être héritée.

RuntimeFeature

Définit des API permettant de déterminer si certaines fonctionnalités sont prises en charge par le common language runtime.

RuntimeHelpers

Fournit un ensemble de propriétés et de méthodes statiques pour assurer la prise en charge des compilateurs. Cette classe ne peut pas être héritée.

RuntimeOps

Contient des méthodes d'assistance appelées à partir de méthodes générées dynamiquement.

RuntimeWrappedException

Encapsule une exception qui ne dérive pas de la classe Exception. Cette classe ne peut pas être héritée.

ScopedRefAttribute

Réservé à une utilisation par un compilateur pour le suivi des métadonnées. Cet attribut ne doit pas être utilisé par les développeurs dans le code source.

ScopelessEnumAttribute

Indique qu'une énumération native n'est pas qualifiée par le nom de type énumération. Cette classe ne peut pas être héritée.

SkipLocalsInitAttribute

Indique au compilateur que l’indicateur .locals init ne doit pas être défini dans les en-têtes de méthode imbriquée lors de l’émission de métadonnées.

SpecialNameAttribute

Indique qu'un type ou un membre est traité d'une manière spéciale par le runtime ou par des outils. Cette classe ne peut pas être héritée.

StateMachineAttribute

Permet de déterminer si une méthode est une méthode de machine d'état.

StringFreezingAttribute

Obsolète. Fige un littéral de chaîne lors de la création d’images natives à l’aide de Ngen.exe (générateur d’images natives). Cette classe ne peut pas être héritée.

StrongBox<T>

Contient une référence à une valeur.

SuppressIldasmAttribute

Empêche Ildasm.exe (désassembleur IL) de désassembler un assembly. Cette classe ne peut pas être héritée.

SwitchExpressionException

Indique qu’une expression de commutateur qui n’était pas exhaustive n’a pas réussi à établir une correspondance avec son entrée au moment de l’exécution. L’exception contient éventuellement un objet représentant la valeur sans correspondance.

TupleElementNamesAttribute

Indique que l’utilisation d’un tuple de valeur sur un membre est destinée à être traitée comme un tuple avec des noms d’élément.

TypeForwardedFromAttribute

Spécifie un Type source dans un autre assembly.

TypeForwardedToAttribute

Spécifie un Type de destination dans un autre assembly.

Unsafe

Contient des fonctionnalités génériques de bas niveau pour manipuler des pointeurs managés et non managés.

UnsafeAccessorAttribute

Fournit l’accès à un membre inaccessible d’un type spécifique.

UnsafeValueTypeAttribute

Spécifie qu'un type contient un tableau non managé susceptible de présenter un dépassement. Cette classe ne peut pas être héritée.

Structures

AsyncIteratorMethodBuilder

Représente un générateur pour les itérateurs asynchrones.

AsyncTaskMethodBuilder

Représente un générateur pour les méthodes asynchrones qui retournent une tâche.

AsyncTaskMethodBuilder<TResult>

Représente un concepteur pour les méthodes asynchrones qui retourne une tâche et fournit un paramètre pour le résultat.

AsyncValueTaskMethodBuilder

Représente un générateur pour les méthodes asynchrones qui retournent une ValueTask.

AsyncValueTaskMethodBuilder<TResult>

Représente un générateur pour les méthodes asynchrones qui retournent une ValueTask<TResult>.

AsyncVoidMethodBuilder

Représente un générateur pour les méthodes asynchrones qui ne retournent pas de valeur.

ConfiguredAsyncDisposable

Fournit un type qui peut être utilisé pour configurer la façon dont les attentes sur un IAsyncDisposable sont effectuées.

ConfiguredCancelableAsyncEnumerable<T>.Enumerator

Fournit un énumérateur asynchrone pouvant être attendu qui permet l’itération annulable et les attentes configurées.

ConfiguredCancelableAsyncEnumerable<T>

Fournit un énumérable asynchrone pouvant être attendu qui permet l’itération annulable et les attentes configurées.

ConfiguredTaskAwaitable

Fournit un objet pouvant être attendu qui active les attentes configurées sur une tâche.

ConfiguredTaskAwaitable.ConfiguredTaskAwaiter

Fournit un élément awaiter pour un objet pouvant être attendu (ConfiguredTaskAwaitable).

ConfiguredTaskAwaitable<TResult>.ConfiguredTaskAwaiter

Fournit un awaiter pour un objet pouvant être attendu (ConfiguredTaskAwaitable<TResult>).

ConfiguredTaskAwaitable<TResult>

Fournit un objet pouvant être attendu qui active les attentes configurées sur une tâche.

ConfiguredValueTaskAwaitable

Fournit un type pouvant être attendu qui active les attentes configurées sur une ValueTask.

ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter

Fournit un awaiter pour un ConfiguredValueTaskAwaitable.

ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter

Fournit un awaiter pour un ConfiguredValueTaskAwaitable<TResult>.

ConfiguredValueTaskAwaitable<TResult>

Fournit un type pouvant être attendu qui active les attentes configurées sur une ValueTask<TResult>.

DefaultInterpolatedStringHandler

Fournit un gestionnaire utilisé par le compilateur de langage pour traiter les chaînes interpolées en String instances.

PoolingAsyncValueTaskMethodBuilder

Représente un générateur pour les méthodes asynchrones qui retournent une ValueTask.

PoolingAsyncValueTaskMethodBuilder<TResult>

Représente un générateur pour les méthodes asynchrones qui retournent une ValueTask<TResult>.

TaskAwaiter

Fournit un objet qui attend la fin d'une tâche asynchrone.

TaskAwaiter<TResult>

Représente un objet qui attend la fin d'une tâche asynchrone et fournit un paramètre pour le résultat.

ValueTaskAwaiter

Fournit un awaiter pour un ValueTask.

ValueTaskAwaiter<TResult>

Fournit un awaiter pour un ValueTask<TResult>.

YieldAwaitable

Fournit le contexte pour l’attente lors d’un basculement asynchrone dans un environnement cible.

YieldAwaitable.YieldAwaiter

Fournit un élément awaiter pour la commutation dans un environnement cible.

Interfaces

IAsyncStateMachine

Représente les machines à états générées pour les méthodes asynchrones. Ce type est exclusivement destiné aux compilateurs.

ICriticalNotifyCompletion

Représente un élément awaiter qui planifie des continuations quand une opération d'attente se termine.

INotifyCompletion

Représente une opération qui planifie des continuations quand elle se termine.

IRuntimeVariables

Représente les valeurs des variables au moment de l'exécution.

IStrongBox

Définit une propriété pour accéder à la valeur à laquelle un objet fait référence.

ITuple

Définit une implémentation de Tuple à usage général qui autorise l’accès aux membres d’instance Tuple sans connaître le type de Tuple sous-jacent.

Énumérations

CompilationRelaxations

Spécifie les paramètres qui contrôlent la rigueur du code généré par le compilateur juste-à-temps (JIT) du Common Language Runtime.

LoadHint

Spécifie la liaison par défaut préférée pour un assembly dépendant.

MethodCodeType

Définit comment une méthode est implémentée.

MethodImplOptions

Spécifie des constantes qui définissent les détails de l’implémentation d’une méthode.

UnsafeAccessorKind

Spécifie le type de cible auquel un UnsafeAccessorAttribute fournit l’accès.

Délégués

ConditionalWeakTable<TKey,TValue>.CreateValueCallback

Représente une méthode qui crée une valeur, autre qu’une valeur par défaut, à ajouter à un objet ConditionalWeakTable<TKey,TValue> dans le cadre d’une paire clé/valeur.

RuntimeHelpers.CleanupCode

Représente une méthode à exécuter lorsqu'une exception se produit.

RuntimeHelpers.TryCode

Représente un délégué de code qui doit être exécuté dans un bloc try.

Remarques

Cet espace de noms est principalement destiné aux rédacteurs de compilateur, bien que plusieurs de ses classes, telles que InternalsVisibleToAttribute, soient utilisées dans une grande variété d’applications.