Język

OpCodes.Isinst Pole

Definicja

Sprawdza, czy odwołanie do obiektu (typ O) jest wystąpieniem określonej klasy.

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

Wartość pola

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
75 <T> isinst class Sprawdza, czy odwołanie do obiektu jest wystąpieniem classklasy , zwracając odwołanie o wartości null lub wystąpienie tej klasy lub interfejsu.

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 zwinięte ze stosu i testowane, aby sprawdzić, czy jest to wystąpienie klasy przekazanej w classelemencie .

  3. Wynik (odwołanie do obiektu lub odwołanie o wartości null) jest wypychany do stosu.

Class to token metadanych wskazujący żądaną klasę. Jeśli klasa obiektu w górnej części stosu implementuje class (jeśli class jest interfejsem) lub jest klasą class pochodną (jeśli class jest klasą regularną), jest rzutowana do typu class , a wynik jest wypychany na stos, dokładnie tak, jakby Castclass został wywołany. W przeciwnym razie odwołanie o wartości null jest wypychane na stos. Jeśli odwołanie do obiektu jest odwołaniem o wartości null, isinst podobnie zwraca odwołanie o wartości null.

TypeLoadException jest zgłaszany, jeśli nie można odnaleźć klasy. Jest to zwykle wykrywane, gdy instrukcje języka Microsoft pośredniego (MSIL) są konwertowane na kod natywny, a nie w czasie wykonywania.

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

Dotyczy