Aracılığıyla paylaş


DynamicILInfo Sınıf

Tanım

Belirteç oluşturma ve kod ekleme yöntemleri, özel durum işleme ve yerel değişken imza blobları dahil olmak üzere dinamik bir yöntem için Microsoft ara dili (MSIL) ve meta verileri oluşturmanın alternatif yolları için destek sağlar.

public ref class DynamicILInfo sealed
public ref class DynamicILInfo
public sealed class DynamicILInfo
[System.Runtime.InteropServices.ComVisible(true)]
public class DynamicILInfo
public class DynamicILInfo
type DynamicILInfo = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type DynamicILInfo = class
Public NotInheritable Class DynamicILInfo
Public Class DynamicILInfo
Devralma
DynamicILInfo
Öznitelikler

Açıklamalar

sınıfı, geliştiricilerin DynamicILInfo kullanmak ILGeneratoryerine kendi MSIL oluşturucularını yazmasına olanak tanır.

Diğer türlerin örneklerini oluşturmak, yöntemleri çağırmak vb. için, oluşturduğunuz MSIL bu varlıklar için belirteçler içermelidir. DynamicILInfo sınıfı, geçerli DynamicILInfokapsamında geçerli belirteçler GetTokenFor döndüren yönteminin birkaç aşırı yüklemesini sağlar. Örneğin, yönteminin bir aşırı yüklemesini Console.WriteLine çağırmanız gerekiyorsa, bu aşırı yükleme için bir RuntimeMethodHandle alabilir ve MSIL'inize eklemek üzere bir belirteç almak için yöntemine geçirebilirsiniz GetTokenFor .

Yerel değişken imzanız, özel durumlar ve kod gövdesi için diziler oluşturduktan Byte sonra, bunları nesnenizle ilişkili içine eklemek DynamicMethod için , SetExceptionsve SetLocalSignature yöntemlerini kullanabilirsinizSetCodeDynamicILInfo.

Kendi meta verilerinizi ve MSIL'nizi oluşturmak için Ortak Dil Altyapısı (CLI) belgeleri, özellikle de "Bölüm II: Meta Veri Tanımı ve Semantiği" ve "Bölüm III: CIL Yönerge Kümesi" hakkında bilgi sahibi olmak gerekir. Daha fazla bilgi için bkz. ECMA 335 Ortak Dil Altyapısı (CLI).

Not

Temsilci oluşturucuyu doğrudan çağırarak başka bir dinamik yönteme temsilci oluşturan kod oluşturmak için kullanmayın DynamicILInfo . Bunun yerine, temsilciyi oluşturmak için yöntemini kullanın CreateDelegate . Temsilci oluşturucu ile oluşturulan bir temsilcinin hedef dinamik yöntemine bir başvurusu yoktur. Temsilci hala kullanımdayken dinamik yöntem çöp toplama tarafından geri kazanılabilir.

Özellikler

DynamicMethod

Gövdesi geçerli örnek tarafından oluşturulan dinamik yöntemi alır.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetTokenFor(Byte[])

geçerli DynamicILInfokapsamında geçerli olan ve ilişkili dinamik yöntemin imzasını temsil eden bir belirteç alır.

GetTokenFor(DynamicMethod)

İlişkili yöntemden çağrılacak dinamik yöntemi temsil eden geçerli DynamicILInfokapsamında geçerli bir belirteç alır.

GetTokenFor(RuntimeFieldHandle)

İlişkili dinamik yöntemden erişilecek bir alanı temsil eden geçerli DynamicILInfokapsamında geçerli bir belirteç alır.

GetTokenFor(RuntimeFieldHandle, RuntimeTypeHandle)

geçerli DynamicILInfokapsamında geçerli olan ve ilişkili dinamik yöntemden erişilecek bir alanı temsil eden bir belirteç alır; alan belirtilen genel türdedir.

GetTokenFor(RuntimeMethodHandle)

İlişkili dinamik yöntemden erişilecek bir yöntemi temsil eden geçerli DynamicILInfokapsamında geçerli bir belirteç alır.

GetTokenFor(RuntimeMethodHandle, RuntimeTypeHandle)

Geçerli DynamicILInfokapsamında geçerli olan ve genel bir türdeki bir yöntemi temsil eden bir belirteç alır.

GetTokenFor(RuntimeTypeHandle)

İlişkili dinamik yöntemde kullanılacak türü temsil eden geçerli DynamicILInfokapsamında geçerli bir belirteç alır.

GetTokenFor(String)

İlişkili dinamik yöntemde kullanılacak dize değişmez değerlerini temsil eden geçerli DynamicILInfokapsamında geçerli bir belirteç alır.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
SetCode(Byte*, Int32, Int32)

İlişkili dinamik yöntemin kod gövdesini ayarlar.

SetCode(Byte[], Int32)

İlişkili dinamik yöntemin kod gövdesini ayarlar.

SetExceptions(Byte*, Int32)

İlişkili dinamik yöntem için özel durum meta verilerini ayarlar.

SetExceptions(Byte[])

İlişkili dinamik yöntem için özel durum meta verilerini ayarlar.

SetLocalSignature(Byte*, Int32)

İlişkili dinamik yöntem için yerel değişkenlerin düzenini açıklayan yerel değişken imzasını ayarlar.

SetLocalSignature(Byte[])

İlişkili dinamik yöntem için yerel değişkenlerin düzenini açıklayan yerel değişken imzasını ayarlar.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır