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 i Microsoft Intermediate Language (MSIL) instrukcji 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 zwinięte ze stosu; obiekt, do których odwołuje się odwołanie, jest rzutowany jako określony
class.Jeśli to się powiedzie, 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, zostanie zgłoszony element InvalidCastException . 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ć obj do klasy.
TypeLoadException jest zgłaszany, jeśli nie można odnaleźć klasy. Jest to zwykle wykrywane, gdy instrukcja języka Microsoft Intermediate Language (MSIL) jest konwertowana na kod natywny, a nie w czasie wykonywania.
Następujące Emit przeciążenie metody może używać castclass kodu opcode: