Compartilhar via


RuntimeHelpers.PrepareMethod Método

Definição

Prepara um método para inclusão em uma CER (região de execução restrita).

Sobrecargas

PrepareMethod(RuntimeMethodHandle)

Prepara um método para inclusão em uma CER (região de execução restrita).

PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[])

Prepara um método para inclusão em uma CER (região de execução restrita) com a instanciação especificada.

PrepareMethod(RuntimeMethodHandle)

Origem:
RuntimeHelpers.CoreCLR.cs
Origem:
RuntimeHelpers.CoreCLR.cs
Origem:
RuntimeHelpers.CoreCLR.cs

Prepara um método para inclusão em uma CER (região de execução restrita).

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

Um identificador para o método a ser preparado.

Atributos

Comentários

Os compiladores usam o PrepareMethod(RuntimeMethodHandle) método para lidar com chamadas virtuais feitas dentro de uma CER (região de execução restrita). Em tempo de compilação JIT, o Common Language Runtime geralmente não tem informações suficientes sobre o destino de uma chamada virtual. Portanto, o runtime não prepara inicialmente esse segmento do grafo de chamada. Se o código que está usando o CER tiver conhecimento suficiente para determinar o destino a qualquer momento antes que o CER seja realmente inserido, ele poderá chamar PrepareMethod(RuntimeMethodHandle) para executar a mesma preparação de runtime normalmente feita para uma CER com raiz no método especificado como um argumento.

Aplica-se a

PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[])

Origem:
RuntimeHelpers.CoreCLR.cs
Origem:
RuntimeHelpers.CoreCLR.cs
Origem:
RuntimeHelpers.CoreCLR.cs

Prepara um método para inclusão em uma CER (região de execução restrita) com a instanciação 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

Um identificador para o método a ser preparado.

instantiation
RuntimeTypeHandle[]

A instanciação a ser passada para o método.

Atributos

Comentários

Você pode fornecer suporte a genéricos para compiladores usando o PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) método . O Common Language Runtime não pode preparar CERs (regiões de execução restrita) com raiz em um método que tenha parâmetros de tipo genérico (um parâmetro de tipo na classe que contém o método ou um no próprio método) quando esses parâmetros de tipo são instanciados como tipos de referência.

Você pode usar essa sobrecarga para passar uma instanciação específica (como uma matriz de tipos), especificando parâmetros de tipo de classe primeiro (se houver), seguidos por parâmetros de tipo de método (se houver). O runtime prepara essa instanciação do método . (Isso é necessário somente se as instanciações que você usa contiverem pelo menos um parâmetro de tipo de referência.) Assim, você pode usar uma cláusula de estilo try CER em um método genérico (ou um método não genérico em uma classe genérica) e funcionará de forma confiável com instanciações de ou outros tipos de Int32 valor. Para instanciar tipos de referência, como String, você deve usar um método explícito PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) no método raiz CER primeiro.

Aplica-se a