OpCodes.Mkrefany Поле
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Помещает в стек вычислений ссылку на экземпляр определенного типа.
public: static initonly System::Reflection::Emit::OpCode Mkrefany;
public static readonly System.Reflection.Emit.OpCode Mkrefany;
staticval mutable Mkrefany : System.Reflection.Emit.OpCode
Public Shared ReadOnly Mkrefany As OpCode
Значение поля
Комментарии
В следующей таблице приведен шестнадцатеричный формат инструкции и формат сборки msil, а также краткий обзор:
Формат | Формат сборки | Описание |
---|---|---|
C6 <T > |
mkrefany class |
Помещает типизированные ссылки типа class в стек. |
Переходный режим стека в последовательном порядке:
Указатель на фрагмент данных помещается в стек.
Указатель извлекается и преобразуется в типизированный справочник типа
class
.Типизированные ссылки помещается в стек.
Инструкция mkrefany
поддерживает передачу динамически типизированных ссылок. Указатель должен иметь тип &
, *
или , и native int
содержать допустимый адрес фрагмента данных.
Class
— это токен класса, описывающий тип данных, на которые ссылается указатель.
Mkrefany
отправляет типизированные ссылки в стек, предоставляя непрозрачный дескриптор указателя и тип class
.
Единственной допустимой операцией, разрешенной для типизированной ссылки, является передача ее в метод, требующий типизированной ссылки в качестве параметра. Затем вызываемый объект может использовать инструкции Refanytype и Refanyval для получения типа (класса) и адреса соответственно.
TypeLoadException возникает, если class
не удается найти. Обычно это обнаруживается, когда инструкции MSIL преобразуются в машинный код, а не во время выполнения.
Следующая Emit перегрузка mkrefany
метода может использовать код операции: