OpCodes.Isinst Поле

Определение

Проверяет, является ли ссылка на объект (тип O) экземпляром определенного класса.

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 

Значение поля

Комментарии

В следующей таблице перечислены шестнадцатеричные и шестнадцатеричные и Microsoft формат сборки промежуточного языка (MSIL) инструкции, а также краткая сводка по ссылке:

Формат Формат сборки Description
75 <T> isinst class Проверяет, является ли ссылка на объект экземпляром class, возвращающим либо пустую ссылку, либо экземпляр этого класса или интерфейса.

Переходное поведение стека в последовательном порядке:

  1. Ссылка на объект отправляется в стек.

  2. Ссылка на объект отображается из стека и проверяется, является ли он экземпляром класса, переданного в class.

  3. Результат (ссылка на объект или пустую ссылку) передается в стек.

Class — это маркер метаданных, указывающий требуемый класс. Если класс объекта в верхней части стека реализует class (если class является интерфейсом) или является производным классом (если class это обычный класс class ), то он вызывается к типуclass, и результат отправляется в стек, точно так же, как будто Castclass был вызван. В противном случае ссылка null отправляется в стек. Если ссылка на объект является пустой ссылкой, то isinst также возвращается ссылка null.

TypeLoadException вызывается, если не удается найти класс. Обычно это обнаруживается, когда инструкции Microsoft промежуточного языка (MSIL) преобразуются в машинный код, а не во время выполнения.

Следующая Emit перегрузка метода может использовать isinst код opcode:

Применяется к