Partager via


RuntimeHelpers.PrepareMethod Méthode

Définition

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.

S’applique à