OpCodes.Ldelem_Ref Поле
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Загружает элемент, содержащий ссылку на объект по указанному индексу массива, в верхней части стека оценки в виде типа O (ссылка на объект).
public: static initonly System::Reflection::Emit::OpCode Ldelem_Ref;
public static readonly System.Reflection.Emit.OpCode Ldelem_Ref;
staticval mutable Ldelem_Ref : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldelem_Ref As OpCode
Значение поля
Комментарии
В следующей таблице перечислены шестнадцатеричные и шестнадцатеричные и Microsoft формат сборки промежуточного языка (MSIL) инструкции, а также краткая сводка по ссылке:
| Формат | Формат сборки | Description |
|---|---|---|
| 9A | ldelem.ref | Загружает элемент со ссылкой на объект в index верхней части стека в виде типа O. |
Переходное поведение стека в последовательном порядке:
Ссылка на
arrayобъект отправляется в стек.Значение
indexиндекса передается в стек.indexиarrayвыскочил из стека; значение, хранящееся в позицииindexвarray, ищется.Значение передается в стек.
Инструкция ldelem.ref загружает значение элемента с индексом index (типом native int) в одномерном массиве array с нуля и помещает его в верхнюю часть стека. Массивы представляют собой объекты и, следовательно, представленные значением типа O.
Возвращаемое значение для ldelem.ref типа O (ссылка на объект).
NullReferenceException вызывается, если array является пустой ссылкой.
ArrayTypeMismatchException создается, если array элементы требуемого типа не содержатся.
IndexOutOfRangeException вызывается, если index отрицательное значение или больше границы array.
Следующая Emit перегрузка метода может использовать ldelem.ref код opcode: