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 pour l’inclusion dans une région d’exécution contrainte (CER).
Surcharges
| Nom | Description |
|---|---|
| PrepareMethod(RuntimeMethodHandle) |
Prépare une méthode pour l’inclusion dans une région d’exécution contrainte (CER). |
| PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) |
Prépare une méthode pour l’inclusion dans une région d’exécution contrainte (CER) avec l’instanciation spécifiée. |
PrepareMethod(RuntimeMethodHandle)
Prépare une méthode pour l’inclusion dans une région d’exécution contrainte (CER).
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 de 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 n’a généralement pas suffisamment d’informations 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 le CER a suffisamment de connaissances pour déterminer la cible à un moment donné avant que le CER soit entré, il peut appeler PrepareMethod(RuntimeMethodHandle) pour effectuer la même préparation du runtime normalement effectuée pour une racine CER à la méthode spécifiée en tant qu’argument.
S’applique à
PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[])
Prépare une méthode pour l’inclusion dans une région d’exécution contrainte (CER) 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);
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 de 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ériques (soit un paramètre de type sur la classe contenant la méthode, soit l’une sur la méthode elle-même) lorsque ces paramètres de type sont instanciés en tant que types de référence.
Vous pouvez utiliser cette surcharge pour passer une instanciation spécifique (par exemple, un tableau de types), en spécifiant d’abord les paramètres de type de classe (le cas échéant), suivis des 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.) Par conséquent, vous pouvez utiliser une clause cer-style try dans une méthode générique (ou une méthode non générique sur une classe générique) et fonctionne de manière fiable avec des instanciations de Int32 types valeur ou autres. Pour instancier des types de référence tels que String, vous devez d’abord utiliser une méthode explicite PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) sur la méthode racine CER.