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 

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

OpCode
Атрибуты

Комментарии

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

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

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

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

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

  3. В случае успеха новая ссылка на объект помещается в стек.

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

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

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

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

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