RuntimeHelpers.PrepareMethod Metoda

Definice

Připraví metodu pro zahrnutí do oblasti omezeného spuštění (CER).

Přetížení

Name Description
PrepareMethod(RuntimeMethodHandle)

Připraví metodu pro zahrnutí do oblasti omezeného spuštění (CER).

PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[])

Připraví metodu pro zahrnutí do oblasti omezeného spuštění (CER) se zadanou instancí.

PrepareMethod(RuntimeMethodHandle)

Zdroj:
RuntimeHelpers.CoreCLR.cs
Zdroj:
RuntimeHelpers.CoreCLR.cs
Zdroj:
RuntimeHelpers.CoreCLR.cs
Zdroj:
RuntimeHelpers.CoreCLR.cs
Zdroj:
RuntimeHelpers.CoreCLR.cs

Připraví metodu pro zahrnutí do oblasti omezeného spuštění (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)

Parametry

method
RuntimeMethodHandle

Popisovač metody, která se má připravit.

Atributy

Poznámky

Kompilátory používají metodu PrepareMethod(RuntimeMethodHandle) ke zpracování virtuálních volání provedených uvnitř oblasti omezeného spuštění (CER). V době kompilace JIT modul runtime common language obvykle nemá dostatek informací o cíli virtuálního volání. Modul runtime proto zpočátku nepřípravě tohoto segmentu grafu volání. Pokud kód, který používá CER, má dostatek znalostí k určení cíle v libovolném okamžiku před tím, než se cer skutečně zadá, může volat PrepareMethod(RuntimeMethodHandle) provedení stejné přípravy modulu runtime, který se obvykle provádí pro cer rooted v metodě zadané jako argument.

Platí pro

PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[])

Zdroj:
RuntimeHelpers.CoreCLR.cs
Zdroj:
RuntimeHelpers.CoreCLR.cs
Zdroj:
RuntimeHelpers.CoreCLR.cs
Zdroj:
RuntimeHelpers.CoreCLR.cs
Zdroj:
RuntimeHelpers.CoreCLR.cs

Připraví metodu pro zahrnutí do oblasti omezeného spuštění (CER) se zadanou instancí.

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

Parametry

method
RuntimeMethodHandle

Popisovač metody, která se má připravit.

instantiation
RuntimeTypeHandle[]

Instance, která se má předat metodě.

Atributy

Poznámky

Pomocí metody můžete poskytnout podporu obecných typů pro kompilátory PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) . Modul CLR (Common Language Runtime) nemůže připravit omezené oblasti provádění (CERS) v metodě, která má parametry obecného typu (buď parametr typu ve třídě obsahující metodu, nebo samotnou metodu), pokud jsou tyto parametry typu vytvořena jako odkazové typy.

Toto přetížení můžete použít k předání konkrétní instance (například pole typů), určení parametrů typu třídy jako první (pokud existuje) následovaných parametry typu metody (pokud existuje). Modul runtime připraví instanci metody. (To je nutné pouze v případě, že instance, které použijete, obsahují alespoň jeden parametr typu odkazu.) Proto můžete použít klauzuli ve stylu try CER v obecné metodě (nebo negenerické metodě pro obecnou třídu) a bude spolehlivě fungovat s instancemi Int32 nebo jinými typy hodnot. Chcete-li vytvořit instanci referenčních typů, jako Stringje , musíte nejprve použít explicitní PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) metodu v kořenové metodě CER.

Platí pro