OpCodes.Castclass Поле

Определение

Пытается привести объект, передаваемый по ссылке на указанный класс.

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 

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

Атрибуты

Комментарии

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

Format Формат сборки Description
74 <T> castclass class Приведение объекта к новому объекту типа class.

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

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

  2. Ссылка на объект подается из стека; Объект, на который ссылается ссылка, создается как указанный class.

  3. При успешном выполнении новая ссылка на объект отправляется в стек.

Инструкция castclass пытается привести ссылку на объект (тип O) на вершине стека к указанному классу. Новый класс указывается маркером метаданных, указывающим требуемый класс. Если класс объекта в верхней части стека не реализует новый класс (если новый класс является интерфейсом) и не является производным классом нового класса, InvalidCastException создается исключение. Если ссылка на объект является пустой ссылкой, castclass выполняется успешно и возвращает новый объект в качестве ссылки null.

InvalidCastException вызывается, если obj не может быть приведение к классу.

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

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

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