RuntimeHelpers.PrepareMethod Метод

Определение

Подготавливает метод для включения в область ограниченного выполнения (CER).

Перегрузки

Имя Описание
PrepareMethod(RuntimeMethodHandle)

Подготавливает метод для включения в область ограниченного выполнения (CER).

PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[])

Подготавливает метод для включения в регион ограниченного выполнения (CER) с указанным экземпляром.

PrepareMethod(RuntimeMethodHandle)

Исходный код:
RuntimeHelpers.CoreCLR.cs
Исходный код:
RuntimeHelpers.CoreCLR.cs
Исходный код:
RuntimeHelpers.CoreCLR.cs
Исходный код:
RuntimeHelpers.CoreCLR.cs
Исходный код:
RuntimeHelpers.CoreCLR.cs

Подготавливает метод для включения в область ограниченного выполнения (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)

Параметры

method
RuntimeMethodHandle

Дескриптор для подготовки метода.

Атрибуты

Комментарии

Компиляторы используют PrepareMethod(RuntimeMethodHandle) метод для обработки виртуальных вызовов, выполненных в ограниченном регионе выполнения (CER). Во время компиляции JIT среда обычно не имеет достаточно сведений о целевом объекте виртуального вызова. Поэтому среда выполнения изначально не подготавливает этот сегмент графа вызовов. Если код, использующий CER, имеет достаточно знаний, чтобы определить целевой объект в любой момент времени перед вводом CER, он может вызвать PrepareMethod(RuntimeMethodHandle) выполнение той же подготовки среды выполнения, как правило, для cer, корня в методе, указанном в качестве аргумента.

Применяется к

PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[])

Исходный код:
RuntimeHelpers.CoreCLR.cs
Исходный код:
RuntimeHelpers.CoreCLR.cs
Исходный код:
RuntimeHelpers.CoreCLR.cs
Исходный код:
RuntimeHelpers.CoreCLR.cs
Исходный код:
RuntimeHelpers.CoreCLR.cs

Подготавливает метод для включения в регион ограниченного выполнения (CER) с указанным экземпляром.

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

Параметры

method
RuntimeMethodHandle

Дескриптор для подготовки метода.

instantiation
RuntimeTypeHandle[]

Экземпляр, который необходимо передать методу.

Атрибуты

Комментарии

Вы можете предоставить универсальные поддержку компиляторов с помощью PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) метода. Среда cl language runtime не может подготовить ограниченные области выполнения (CER), корневые в методе с параметрами универсального типа (либо параметром типа класса, содержащего метод, либо один на самом методе), когда эти параметры типа создаются как ссылочные типы.

Эту перегрузку можно использовать для передачи определенного экземпляра (например, массива типов), указания параметров типа класса сначала (если таковые есть), а затем параметров типа метода (при наличии). Среда выполнения подготавливает этот экземпляр метода. (Это необходимо, только если экземпляры, используемые вами, содержат хотя бы один параметр ссылочного типа.) Таким образом, можно использовать предложение в стиле try CER в универсальном методе (или негенерическом методе в универсальном классе), и оно будет надежно работать с экземплярами или другими типами Int32 значений. Чтобы создать экземпляр ссылочных типов, например String, необходимо сначала использовать явный PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) метод в корневом методе CER.

Применяется к