Compartir vía


RuntimeHelpers.PrepareMethod Método

Definición

Prepara un método para la inclusión en una región de ejecución limitada (CER, Constrained Execution Region).

Sobrecargas

PrepareMethod(RuntimeMethodHandle)

Prepara un método para la inclusión en una región de ejecución limitada (CER, Constrained Execution Region).

PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[])

Prepara un método para la inclusión en una región de ejecución limitada (CER, Constrained Execution Region) con la creación de instancias especificada.

PrepareMethod(RuntimeMethodHandle)

Source:
RuntimeHelpers.CoreCLR.cs
Source:
RuntimeHelpers.CoreCLR.cs
Source:
RuntimeHelpers.CoreCLR.cs

Prepara un método para la inclusión en una región de ejecución limitada (CER, Constrained Execution Region).

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)

Parámetros

method
RuntimeMethodHandle

Identificador del método que se va a preparar.

Atributos

Comentarios

Los compiladores usan el PrepareMethod(RuntimeMethodHandle) método para controlar las llamadas virtuales realizadas dentro de una región de ejecución restringida (CER). En tiempo de compilación JIT, Common Language Runtime no suele tener suficiente información sobre el destino de una llamada virtual. Por lo tanto, el tiempo de ejecución no prepara inicialmente ese segmento del gráfico de llamadas. Si el código que usa el CER tiene suficiente conocimiento para determinar el destino en cualquier momento antes de que realmente se escriba el CER, puede llamar PrepareMethod(RuntimeMethodHandle) a para realizar la misma preparación en tiempo de ejecución que normalmente se realiza para una CER con raíz en el método especificado como argumento.

Se aplica a

PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[])

Source:
RuntimeHelpers.CoreCLR.cs
Source:
RuntimeHelpers.CoreCLR.cs
Source:
RuntimeHelpers.CoreCLR.cs

Prepara un método para la inclusión en una región de ejecución limitada (CER, Constrained Execution Region) con la creación de instancias especificada.

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())

Parámetros

method
RuntimeMethodHandle

Identificador del método que se va a preparar.

instantiation
RuntimeTypeHandle[]

Creación de instancias que se va a pasar al método.

Atributos

Comentarios

Puede proporcionar compatibilidad con genéricos para compiladores mediante el PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) método . Common Language Runtime no puede preparar regiones de ejecución restringidas (CER) con raíz en un método que tenga parámetros de tipo genéricos (ya sea un parámetro de tipo en la clase que contiene el método o uno en el propio método) cuando se crean instancias de esos parámetros de tipo como tipos de referencia.

Puede usar esta sobrecarga para pasar una instancia específica (por ejemplo, una matriz de tipos), especificando primero los parámetros de tipo de clase (si los hay), seguidos de parámetros de tipo de método (si los hay). El tiempo de ejecución prepara esa creación de instancias del método . (Esto solo es necesario si las instancias que usa contienen al menos un parámetro de tipo de referencia). Por lo tanto, puede usar una cláusula de estilo try CER en un método genérico (o un método no genérico en una clase genérica) y funcionará de forma confiable con instancias de u otros tipos de Int32 valor. Para crear instancias de tipos de referencia como String, primero debe usar un método explícito PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) en el método raíz cer.

Se aplica a