MethodImplOptions Énumération

Définition

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

Cette énumération prend en charge une combinaison au niveau du bit de ses valeurs membres.

public enum class MethodImplOptions
[System.Flags]
public enum MethodImplOptions
[System.Flags]
[System.Serializable]
public enum MethodImplOptions
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum MethodImplOptions
[<System.Flags>]
type MethodImplOptions = 
[<System.Flags>]
[<System.Serializable>]
type MethodImplOptions = 
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type MethodImplOptions = 
Public Enum MethodImplOptions
Héritage
MethodImplOptions
Attributs

Champs

Nom Valeur Description
Unmanaged 4

La méthode est implémentée dans du code non managé.

NoInlining 8

Impossible d’inliner la méthode. L’incorporation est une optimisation par laquelle un appel de méthode est remplacé par le corps de la méthode.

ForwardRef 16

La méthode est déclarée, mais son implémentation est fournie ailleurs.

Synchronized 32

La méthode peut être exécutée par un seul thread à la fois. Les méthodes statiques verrouillent sur le type, tandis que les méthodes d’instance verrouillent sur l’instance. Un seul thread peut s’exécuter dans l’une des fonctions d’instance, et un seul thread peut s’exécuter dans l’une des fonctions statiques d’une classe.

NoOptimization 64

La méthode n’est pas optimisée par le compilateur juste-à-temps (JIT) ou par la génération de code native (voir Ngen.exe) lors du débogage des problèmes de génération de code possibles.

PreserveSig 128

La signature de méthode est exportée exactement comme déclaré.

AggressiveInlining 256

La méthode doit être insérée si possible.

L’utilisation inutile de cet attribut peut réduire les performances. L’attribut peut entraîner la rencontre de limites d’implémentation qui entraînent un code généré plus lent. Mesurez toujours les performances pour vous assurer qu’il est utile d’appliquer cet attribut.

SecurityMitigations 1024

Ce membre est réservé à une utilisation ultérieure. Il a été introduit dans .NET Framework 4.8.

InternalCall 4096

L’appel est interne, c’est-à-dire qu’il appelle une méthode implémentée dans le Common Language Runtime.

Remarques

Cette énumération est utilisée avec l’attribut MethodImplAttribute .

Vous pouvez spécifier plusieurs MethodImplOptions valeurs à l’aide de l’opérateur OR au niveau du bit.

Note

Le verrouillage sur l’instance ou sur le type, comme avec l’indicateur Synchronized , n’est pas recommandé pour les types publics, car le code autre que votre propre peut prendre des verrous sur des types publics et des instances. Cela peut entraîner des blocages ou d’autres problèmes de synchronisation.

S’applique à