OpCodes.Castclass Pole
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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:
Odwołanie do obiektu jest wypychane do stosu.
Odwołanie do obiektu jest wyskoczone ze stosu; obiekt, do których odwołuje się odwołanie, jest rzutowany jako określony
class
.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: