Aracılığıyla paylaş


RuntimeHelpers.PrepareMethod Yöntem

Tanım

Kısıtlanmış yürütme bölgesine (CER) ekleme için bir yöntem hazırlar.

Aşırı Yüklemeler

PrepareMethod(RuntimeMethodHandle)

Kısıtlanmış yürütme bölgesine (CER) ekleme için bir yöntem hazırlar.

PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[])

Belirtilen örnekleme ile kısıtlanmış yürütme bölgesine (CER) ekleme için bir yöntem hazırlar.

PrepareMethod(RuntimeMethodHandle)

Kaynak:
RuntimeHelpers.CoreCLR.cs
Kaynak:
RuntimeHelpers.CoreCLR.cs
Kaynak:
RuntimeHelpers.CoreCLR.cs

Kısıtlanmış yürütme bölgesine (CER) ekleme için bir yöntem hazırlar.

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)

Parametreler

method
RuntimeMethodHandle

Hazırlama yönteminin tanıtıcısı.

Öznitelikler

Açıklamalar

Derleyiciler, kısıtlanmış yürütme bölgesi (CER) içinde yapılan sanal çağrıları işlemek için yöntemini kullanır PrepareMethod(RuntimeMethodHandle) . JIT derleme zamanında, ortak dil çalışma zamanı genellikle bir sanal çağrının hedefi hakkında yeterli bilgiye sahip değildir. Bu nedenle, çalışma zamanı başlangıçta çağrı grafiğinin bu kesimini hazırlamaz. CER kullanan kod, CER gerçekten girilmeden önce herhangi bir noktada hedefi belirlemek için yeterli bilgiye sahipse, bağımsız değişken olarak belirtilen yönteme köklenen bir CER için normalde yapılan aynı çalışma zamanı hazırlığı gerçekleştirmeyi çağırabilir PrepareMethod(RuntimeMethodHandle) .

Şunlara uygulanır

PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[])

Kaynak:
RuntimeHelpers.CoreCLR.cs
Kaynak:
RuntimeHelpers.CoreCLR.cs
Kaynak:
RuntimeHelpers.CoreCLR.cs

Belirtilen örnekleme ile kısıtlanmış yürütme bölgesine (CER) ekleme için bir yöntem hazırlar.

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

Parametreler

method
RuntimeMethodHandle

Hazırlama yönteminin tanıtıcısı.

instantiation
RuntimeTypeHandle[]

yöntemine geçirmek için örnekleme.

Öznitelikler

Açıklamalar

yöntemini kullanarak PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) derleyiciler için genel destek sağlayabilirsiniz. Ortak dil çalışma zamanı, genel tür parametreleri (yöntemi içeren sınıftaki bir tür parametresi veya yöntemin kendisinde bir parametre) olan bir yöntemde köke sahip kısıtlanmış yürütme bölgelerini (CER' ler) bu tür parametreleri başvuru türleri olarak örneklendiğinde hazırlayamaz.

Bu aşırı yüklemeyi kullanarak belirli bir örneklemeyi (tür dizisi gibi), önce sınıf türü parametrelerini (varsa) ve ardından yöntem türü parametrelerini (varsa) belirterek geçirebilirsiniz. Çalışma zamanı, yönteminin örneklemesini hazırlar. (Bu, yalnızca kullandığınız örneklemeler en az bir başvuru türü parametresi içeriyorsa gereklidir.) Bu nedenle, genel bir yöntemde (veya genel bir sınıftaki genel olmayan bir yöntemde) CER stili try yan tümcesi kullanabilirsiniz ve örnek veya Int32 diğer değer türleriyle güvenilir bir şekilde çalışır. gibi Stringbaşvuru türlerinin örneğini başlatmak için önce CER kök yönteminde açık PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) bir yöntem kullanmanız gerekir.

Şunlara uygulanır