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