System.Runtime.CompilerServices Espace de noms

Fournit des fonctionnalités pour les enregistreurs de compilateur qui utilisent du code managé pour spécifier des attributs dans les métadonnées qui affectent le comportement d’exécution du Common Language Runtime.

Classes

AccessedThroughPropertyAttribute

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

AsyncIteratorStateMachineAttribute

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

AsyncMethodBuilderAttribute

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

AsyncStateMachineAttribute

Indique si une méthode est marquée avec le asynchrone ou modificateur de asynchrone.

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 GC dans le cadre de la convention d’appel.

CallConvSwift

Indique qu’une méthode doit utiliser la convention d’appel Swift.

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 forme de chaîne.

CallerFilePathAttribute

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

CallerLineNumberAttribute

Vous permet d’obtenir le numéro de ligne dans le fichier source auquel la méthode est appelée.

CallerMemberNameAttribute

Vous permet d’obtenir la méthode ou le nom de propriété de l’appelant à la méthode.

CallSite

Classe de base de 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 d’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 des 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 enregistreurs de compilateur qui utilisent du code managé pour spécifier des attributs dans les métadonnées qui affectent le comportement d’exécution du Common Language Runtime.

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 a une étendue globale.

CompilerMarshalOverride

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

ConditionalWeakTable<TKey,TValue>

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

ContractHelper

Fournit des méthodes utilisées par le réécriteur binaire pour gérer les échecs de contrat.

CppInlineNamespaceAttribute

Définit l’espace de noms inline en C++/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 constante qu’un compilateur peut conserver pour un paramètre de champ ou de méthode.

DateTimeConstantAttribute

Conserve une constante DateTime de 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’expressions.

DecimalConstantAttribute

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

DefaultDependencyAttribute

Fournit un indicateur au Common Language Runtime (CLR) indiquant la probabilité qu’une dépendance soit chargée. Cette classe est utilisée dans un assembly dépendant pour indiquer quel indicateur doit être utilisé lorsque 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 de référence. Cette classe ne peut pas être héritée.

DisablePrivateReflectionAttribute

Indique que les membres privés contenus dans les types d’un assembly ne sont pas disponibles pour la réflexion.

DisableRuntimeMarshallingAttribute

Désactive le sous-système de marshaling managé/non managé du runtime intégré pour les appels de pointeur de fonction 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 ignorée.

DynamicAttribute

Indique que l’utilisation de Object sur un membre est destinée à être traitée comme un type distribué dynamiquement.

EnumeratorCancellationAttribute

Permet aux utilisateurs de méthodes énumérables asynchrones 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

Corrige l’adresse d’un champ de type valeur statique tout au long de 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 du champ ou du paramètre attribué est une instance de DispatchWrapper, où le WrappedObject est null.

IndexerNameAttribute

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

InlineArrayAttribute

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

InternalsVisibleToAttribute

Spécifie que les types qui sont généralement visibles uniquement dans l’assembly actuel sont visibles par un assembly spécifié.

InterpolatedStringHandlerArgumentAttribute

Indique quels arguments à une méthode impliquant un gestionnaire de chaîne interpolé doit être transmis à ce gestionnaire.

InterpolatedStringHandlerAttribute

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

IsBoxed

Indique que le type de 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 parref.

IsByValue

Indique qu’un argument de méthode modifié doit être interprété comme ayant une sémantique passée par valeur d’objet. Ce modificateur est appliqué aux types de 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 de 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 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 du champ ou du paramètre attribué est une instance de UnknownWrapper, où le 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 pendant 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 son initialiseur du module contenant.

NativeCppClassAttribute

Applique des métadonnées à un assembly qui indique qu’un type est un type 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.

OverloadResolutionPriorityAttribute

Spécifie la priorité d’un membre dans la résolution de surcharge. Lorsqu’elle n’est pas spécifiée, la priorité par défaut est 0.

ParamCollectionAttribute

Indique qu’une méthode autorise un nombre variable d’arguments dans son appel.

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 pas de 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 d’importation doit comprendre entièrement 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 requis 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 de règles de liaison d’exécution.

RuntimeCompatibilityAttribute

Spécifie s’il faut encapsuler des 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 les API pour déterminer si des fonctionnalités spécifiques sont prises en charge par le Common Language Runtime.

RuntimeHelpers

Fournit un ensemble de méthodes et de propriétés statiques qui prennent en charge les 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 du type d’énumération. Cette classe ne peut pas être héritée.

SkipLocalsInitAttribute

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

SpecialNameAttribute

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

StateMachineAttribute

Vous permet de déterminer si une méthode est une méthode d’ordinateur d’état.

StringFreezingAttribute

Obsolescent. Fige un littéral de chaîne lors de la création d’images natives à l’aide du 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 le Ildasm.exe (désassembleur IL) de désassembler un assembly. Cette classe ne peut pas être héritée.

SwitchExpressionException

Indique qu’une expression switch qui n’était pas exhaustive n’a pas pu correspondre à 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éments.

TypeForwardedFromAttribute

Spécifie une Type source dans un autre assembly.

TypeForwardedToAttribute

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

Unsafe

Contient des fonctionnalités génériques et 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é qui peut potentiellement dépasser. 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 générateur de 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 un 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 attendu qui active l’itération annulable et les attentes configurées.

ConfiguredCancelableAsyncEnumerable<T>

Fournit une énumérable asynchrone pouvant être attendue qui active l’itération annulable et les attentes configurées.

ConfiguredTaskAwaitable

Fournit un objet awaitable qui active les attentes configurées sur une tâche.

ConfiguredTaskAwaitable.ConfiguredTaskAwaiter

Fournit un awaiter pour un objet awaitable (ConfiguredTaskAwaitable).

ConfiguredTaskAwaitable<TResult>.ConfiguredTaskAwaiter

Fournit un awaiter pour un objet awaitable(ConfiguredTaskAwaitable<TResult>).

ConfiguredTaskAwaitable<TResult>

Fournit un objet awaitable qui active les attentes configurées sur une tâche.

ConfiguredValueTaskAwaitable

Fournit un type awaitable qui active les attentes configurées sur un ValueTask.

ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter

Fournit un awaiter pour une ConfiguredValueTaskAwaitable.

ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter

Fournit un awaiter pour une ConfiguredValueTaskAwaitable<TResult>.

ConfiguredValueTaskAwaitable<TResult>

Fournit un type awaitable qui active les attentes configurées sur un ValueTask<TResult>.

DefaultInterpolatedStringHandler

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

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 un ValueTask<TResult>.

TaskAwaiter

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

TaskAwaiter<TResult>

Représente un objet qui attend l’achèvement d’une tâche asynchrone et fournit un paramètre pour le résultat.

ValueTaskAwaiter

Fournit un awaiter pour une ValueTask.

ValueTaskAwaiter<TResult>

Fournit un awaiter pour une ValueTask<TResult>.

YieldAwaitable

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

YieldAwaitable.YieldAwaiter

Fournit un awaiter pour basculer vers un environnement cible.

Interfaces

IAsyncStateMachine

Représente les machines d’état générées pour les méthodes asynchrones. Ce type est destiné uniquement au compilateur.

ICriticalNotifyCompletion

Représente un awaiter qui planifie les continuations lorsqu’une opération await se termine.

INotifyCompletion

Représente une opération qui planifie les continuations lorsqu’elle est terminée.

IRuntimeVariables

Représente les valeurs des variables d’exécution.

IStrongBox

Définit une propriété pour accéder à la valeur référencée par un objet.

ITuple

Définit une implémentation Tuple à usage général qui autorise l’accès aux membres de l’instance Tuple sans connaître le type 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 la façon dont 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 une UnsafeAccessorAttribute fournit l’accès.

Délégués

ConditionalWeakTable<TKey,TValue>.CreateValueCallback

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

RuntimeHelpers.CleanupCode

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

RuntimeHelpers.TryCode

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

Remarques

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