RuntimeHelpers.PrepareMethod Méthode

Définition

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.

S’applique à