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