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