RuntimeHelpers.PrepareMethod Méthode
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.
Prépare une méthode en vue d'une intégration dans une région d'exécution limitée.
Surcharges
PrepareMethod(RuntimeMethodHandle) |
Prépare une méthode en vue d'une intégration dans une région d'exécution limitée. |
PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) |
Prépare une méthode en vue d'une intégration dans une région d'exécution limitée avec l'instanciation spécifiée. |
PrepareMethod(RuntimeMethodHandle)
- Source:
- RuntimeHelpers.CoreCLR.cs
- Source:
- RuntimeHelpers.CoreCLR.cs
- Source:
- RuntimeHelpers.CoreCLR.cs
Prépare une méthode en vue d'une intégration dans une région d'exécution limitée.
public:
static void PrepareMethod(RuntimeMethodHandle method);
public static void PrepareMethod (RuntimeMethodHandle method);
[System.Security.SecurityCritical]
public static void PrepareMethod (RuntimeMethodHandle method);
static member PrepareMethod : RuntimeMethodHandle -> unit
[<System.Security.SecurityCritical>]
static member PrepareMethod : RuntimeMethodHandle -> unit
Public Shared Sub PrepareMethod (method As RuntimeMethodHandle)
Paramètres
- method
- RuntimeMethodHandle
Handle vers la méthode à préparer.
- Attributs
Remarques
Les compilateurs utilisent la PrepareMethod(RuntimeMethodHandle) méthode pour gérer les appels virtuels effectués à l’intérieur d’une région d’exécution contrainte (CER). Au moment de la compilation JIT, le Common Language Runtime ne dispose généralement pas d’informations suffisantes sur la cible d’un appel virtuel. Par conséquent, le runtime ne prépare pas initialement ce segment du graphique d’appel. Si le code qui utilise la cer dispose de suffisamment de connaissances pour déterminer la cible à tout moment avant l’entrée de la cer, il peut appeler PrepareMethod(RuntimeMethodHandle) pour effectuer la même préparation du runtime normalement effectuée pour un cer rooté à la méthode spécifiée en tant qu’argument.
S’applique à
PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[])
- Source:
- RuntimeHelpers.CoreCLR.cs
- Source:
- RuntimeHelpers.CoreCLR.cs
- Source:
- RuntimeHelpers.CoreCLR.cs
Prépare une méthode en vue d'une intégration dans une région d'exécution limitée avec l'instanciation spécifiée.
public:
static void PrepareMethod(RuntimeMethodHandle method, cli::array <RuntimeTypeHandle> ^ instantiation);
public static void PrepareMethod (RuntimeMethodHandle method, RuntimeTypeHandle[]? instantiation);
[System.Security.SecurityCritical]
public static void PrepareMethod (RuntimeMethodHandle method, RuntimeTypeHandle[] instantiation);
public static void PrepareMethod (RuntimeMethodHandle method, RuntimeTypeHandle[] instantiation);
static member PrepareMethod : RuntimeMethodHandle * RuntimeTypeHandle[] -> unit
[<System.Security.SecurityCritical>]
static member PrepareMethod : RuntimeMethodHandle * RuntimeTypeHandle[] -> unit
Public Shared Sub PrepareMethod (method As RuntimeMethodHandle, instantiation As RuntimeTypeHandle())
Paramètres
- method
- RuntimeMethodHandle
Handle vers la méthode à préparer.
- instantiation
- RuntimeTypeHandle[]
Instanciation à passer à la méthode.
- Attributs
Remarques
Vous pouvez fournir la prise en charge des génériques pour les compilateurs à l’aide de la PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) méthode . Le Common Language Runtime ne peut pas préparer des régions d’exécution contraintes (CER) enracinées dans une méthode qui a des paramètres de type générique (soit un paramètre de type sur la classe contenant la méthode, soit un paramètre sur la méthode elle-même) lorsque ces paramètres de type sont instanciés en tant que types référence.
Vous pouvez utiliser cette surcharge pour passer une instanciation spécifique (telle qu’un tableau de types), en spécifiant d’abord les paramètres de type de classe (le cas échéant), puis les paramètres de type de méthode (le cas échéant). Le runtime prépare cette instanciation de la méthode . (Cela est nécessaire uniquement si les instanciations que vous utilisez contiennent au moins un paramètre de type référence.) Ainsi, vous pouvez utiliser une clause de style try
CER dans une méthode générique (ou une méthode non générique sur une classe générique) et elle fonctionnera de manière fiable avec les instanciations de Int32 ou d’autres types valeur. Pour instancier des types référence tels que String, vous devez d’abord utiliser une méthode explicite PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) sur la méthode racine CER.