Поделиться через


OpCodes.Stloc Поле

Определение

Извлекает текущее значение из верхней части стека вычислений и сохраняет его в списке локальных переменных по указанному индексу.

public: static initonly System::Reflection::Emit::OpCode Stloc;
public static readonly System.Reflection.Emit.OpCode Stloc;
 staticval mutable Stloc : System.Reflection.Emit.OpCode
Public Shared ReadOnly Stloc As OpCode 

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

Комментарии

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

Формат Формат сборки Описание
FE 0E <unsigned int16> stloc index Извлекает значение из стека и сохраняет его в локальной переменной index.

Переходный режим стека в последовательном порядке:

  1. Значение извлекается из стека и помещается в локальную переменную index.

Инструкция stloc извлекает верхнее значение из стека вычислений и перемещает его в локальный номер indexпеременной , где локальные переменные нумеруются 0 и далее. Тип значения должен соответствовать типу локальной переменной, указанному в локальной сигнатуре текущего метода.

При хранении в локальных значениях, которые содержат целочисленное значение длиной менее 4 байт, значение усекается по мере перемещения из стека в локальную переменную. Значения с плавающей запятой округляются от собственного размера (типа F) до размера, связанного с аргументом .

Для правильных инструкций msil требуется index допустимый локальный индекс. Для инструкции stlocindex должен находиться в диапазоне от 0 до 65534 включительно (в частности, 65535 является недопустимым). Причина исключения 65535 является прагматичной: скорее всего, реализации будут использовать 2-байтовое целое число для отслеживания как локального индекса, так и общего числа локальных значений для данного метода. Если индекс 65535 был сделан допустимым, для отслеживания числа местных жителей в таком методе потребуется более широкое целое число.

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

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