Aracılığıyla paylaş


OpCodes.Unbox Alan

Tanım

Bir değer türünün kutulu gösterimini kutulanmamış biçimine dönüştürür.

public: static initonly System::Reflection::Emit::OpCode Unbox;
public static readonly System.Reflection.Emit.OpCode Unbox;
 staticval mutable Unbox : System.Reflection.Emit.OpCode
Public Shared ReadOnly Unbox As OpCode 

Alan Değeri

Açıklamalar

Aşağıdaki tabloda yönergenin onaltılık ve Microsoft Ara Dili (MSIL) derleme biçimi ve kısa başvuru özeti listelenmiştir:

Biçimlendir Derleme Biçimi Description
79 <T> Unbox valType içindeki değer türü verilerini obj, kutulu gösterimini ayıklar.

Sıralı sırada yığın geçiş davranışı şu şekildedir:

  1. Yığına bir nesne başvurusu gönderilir.

  2. Nesne başvurusu yığından çıkarılır ve bir değer türü işaretçisine işaretlenmez.

  3. Değer türü işaretçisi yığına gönderilir.

Bir değer türünün Ortak Dil Altyapısı (CLI) içinde iki ayrı gösterimi vardır:

  • Bir değer türü başka bir nesnenin içine katıştırıldığında kullanılan bir 'ham' form.

  • Değer türündeki verilerin bağımsız bir varlık olarak var olabilmesi için bir nesneye sarmalandığı (kutulandığı) bir 'kutulu' form.

Yönerge, unbox bir değer türünün kutulanmış gösterimi olan nesne başvurusunu (tür O), bir değer türü işaretçisine (yönetilen işaretçi, tür &), kutulanmamış biçimine dönüştürür. Sağlanan değer türü (valType), kutulu nesnenin içinde yer alan değer türünün türünü belirten bir meta veri belirtecidir.

nesnesinde kullanmak üzere bir değer türünün kopyasını oluşturmak için gereken değerinden farklı Boxolarak, unbox nesneden değer türünü kopyalamak için gerekli değildir. Genellikle, kutulu nesnenin içinde zaten var olan değer türünün adresini hesaplar.

InvalidCastException nesnesi olarak valTypekutulanmamışsa oluşturulur.

NullReferenceException nesne başvurusu null başvuruysa oluşturulur.

TypeLoadException değer türü valType bulunamazsa oluşturulur. Bu durum genellikle Microsoft Ara Dil (MSIL) yönergeleri çalışma zamanında değil yerel koda dönüştürüldüğünde algılanır.

Aşağıdaki Emit yöntem aşırı yüklemesi, opcode'unu unbox kullanabilir:

Şunlara uygulanır