RuntimeHelpers.PrepareMethod メソッド

定義

制約された実行領域 (CER) に含めるためのメソッドを準備します。

オーバーロード

PrepareMethod(RuntimeMethodHandle)

制約された実行領域 (CER) に含めるためのメソッドを準備します。

PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[])

指定のインスタンス化を使用して、制約された実行領域 (CER) に含めるためのメソッドを準備します。

PrepareMethod(RuntimeMethodHandle)

ソース:
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

指定のインスタンス化を使用して、制約された実行領域 (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[]) 提供できます。 共通言語ランタイムは、ジェネリック型パラメーター (メソッドを含むクラスの型パラメーターまたはメソッド自体の型パラメーター) を持つメソッドにルート化された制約付き実行領域 (CER) を準備できません。これらの型パラメーターが参照型としてインスタンス化される場合。

このオーバーロードを使用すると、特定のインスタンス化 (型の配列など) を渡し、最初にクラス型パラメーター (存在する場合) を指定し、その後にメソッド型パラメーター (存在する場合) を指定できます。 ランタイムは、 メソッドのインスタンス化を準備します。 (これは、使用するインスタンス化に少なくとも 1 つの参照型パラメーターが含まれている場合にのみ必要です)。したがって、ジェネリック メソッド (またはジェネリック クラスの非ジェネリック メソッド) で CER スタイル try の句を使用できます。また、その句は、またはその他の値型の Int32 インスタンス化で確実に機能します。 などの String参照型をインスタンス化するには、最初に CER ルート メソッドで明示的 PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) なメソッドを使用する必要があります。

適用対象