OpCodes.Castclass Pole

Definicja

Próbuje rzutować obiekt przekazany przez odwołanie do określonej klasy.

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 

Wartość pola

Atrybuty

Uwagi

W poniższej tabeli wymieniono format zestawu szesnastkowy instrukcji i microsoft intermediate language (MSIL) wraz z krótkim podsumowaniem referencyjnym:

Format Format zestawu Opis
74 <T> castclass class Rzutuje obiekt na nowy obiekt typu class.

Zachowanie przejściowe stosu w kolejności sekwencyjnej jest następujące:

  1. Odwołanie do obiektu jest wypychane do stosu.

  2. Odwołanie do obiektu jest wyskoczone ze stosu; obiekt, do których odwołuje się odwołanie, jest rzutowany jako określony class.

  3. W przypadku powodzenia nowe odwołanie do obiektu zostanie wypchnięte do stosu.

Instrukcja castclass próbuje rzutować odwołanie do obiektu (typ O) na szczycie stosu do określonej klasy. Nowa klasa jest określana przez token metadanych wskazujący żądaną klasę. Jeśli klasa obiektu w górnej części stosu nie implementuje nowej klasy (przy założeniu, że nowa klasa jest interfejsem) i nie jest klasą pochodną nowej klasy, InvalidCastException jest zgłaszany. Jeśli odwołanie do obiektu jest odwołaniem o wartości null, castclass powiedzie się i zwróci nowy obiekt jako odwołanie o wartości null.

InvalidCastException jest zgłaszany, jeśli nie można rzutować obiektu do klasy .

TypeLoadException jest zgłaszany, jeśli nie można odnaleźć klasy. Zwykle jest to wykrywane, gdy instrukcja języka Microsoft Intermediate Language (MSIL) jest konwertowana na kod natywny, a nie w czasie wykonywania.

Emit Następujące przeciążenie metody może używać castclass kodu opcode:

Dotyczy