Aracılığıyla paylaş


OpCodes.Castclass Alan

Tanım

Belirtilen sınıfa başvuruyla geçirilen bir nesneyi atamaya çalışır.

public: static initonly System::Reflection::Emit::OpCode Castclass;
public static readonly System.Reflection.Emit.OpCode Castclass;
[System.Runtime.InteropServices.ComVisible(true)]
public static readonly System.Reflection.Emit.OpCode Castclass;
 staticval mutable Castclass : System.Reflection.Emit.OpCode
[<System.Runtime.InteropServices.ComVisible(true)>]
 staticval mutable Castclass : System.Reflection.Emit.OpCode
Public Shared ReadOnly Castclass As OpCode 

Alan Değeri

Öznitelikler

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
74 <T> castclass class Bir nesneyi türünde classyeni bir nesneye dönüştürür.

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; başvuruda bulunan nesne belirtilen classolarak yayınlanır.

  3. Başarılı olursa, yığına yeni bir nesne başvurusu gönderilir.

Yönerge, castclass nesne başvuruyu (tür O) yığının üzerinde belirtilen bir sınıfa atamayı dener. Yeni sınıf, istenen sınıfı gösteren bir meta veri belirteci tarafından belirtilir. Yığının en üstündeki nesnesinin sınıfı yeni sınıfı uygulamazsa (yeni sınıfın bir arabirim olduğu varsayılarak) ve yeni sınıfın türetilmiş bir sınıfı değilse bir InvalidCastException oluşturulur. Nesne başvurusu null başvuruysa başarılı castclass olur ve yeni nesneyi null başvuru olarak döndürür.

InvalidCastException obj sınıfa alınamazsa oluşturulur.

TypeLoadException sınıfı bulunamazsa oluşturulur. Bu durum genellikle bir Microsoft Ara Dil (MSIL) yönergesi ç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 castclass kullanabilir:

Şunlara uygulanır