MethodImplOptions Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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.