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, возвращающим либо пустую ссылку, либо экземпляр этого класса или интерфейса. |
Переходное поведение стека в последовательном порядке:
Ссылка на объект отправляется в стек.
Ссылка на объект отображается из стека и проверяется, является ли он экземпляром класса, переданного в
class.Результат (ссылка на объект или пустую ссылку) передается в стек.
Class — это маркер метаданных, указывающий требуемый класс. Если класс объекта в верхней части стека реализует class (если class является интерфейсом) или является производным классом (если class это обычный класс class ), то он вызывается к типуclass, и результат отправляется в стек, точно так же, как будто Castclass был вызван. В противном случае ссылка null отправляется в стек. Если ссылка на объект является пустой ссылкой, то isinst также возвращается ссылка null.
TypeLoadException вызывается, если не удается найти класс. Обычно это обнаруживается, когда инструкции Microsoft промежуточного языка (MSIL) преобразуются в машинный код, а не во время выполнения.
Следующая Emit перегрузка метода может использовать isinst код opcode: