OpCodes.Leave_S Поле
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выполняет выход из защищенной области кода с безусловной передачей управления указанной конечной инструкции (короткая форма).
public: static initonly System::Reflection::Emit::OpCode Leave_S;
public static readonly System.Reflection.Emit.OpCode Leave_S;
staticval mutable Leave_S : System.Reflection.Emit.OpCode
Public Shared ReadOnly Leave_S As OpCode
Значение поля
Комментарии
В следующей таблице приведен шестнадцатеричный формат инструкции и формат сборки MSIL, а также краткая справочная сводка:
Формат | Формат сборки | Описание |
---|---|---|
ДЕ <int8 > |
leave.s target |
Выйдите из защищенной области кода в короткой форме. |
Для этой инструкции не указано поведение перехода стека.
Инструкция leave.s
безоговорочно передает управление переданной целевой инструкции, представленной в виде 1-байтового смещения со знаком от начала инструкции после текущей инструкции.
Инструкция аналогична leave.s
инструкцииbr
, но ее можно использовать для выхода из try
блока , или catch
, filter
в то время как обычные инструкции ветви можно использовать только в таком блоке для передачи управления внутри него. Инструкция leave.s
очищает стек вычислений и гарантирует выполнение соответствующих окружающих finally
блоков.
Вы не можете использовать инструкцию leave.s
для выхода из finally
блока. Чтобы упростить создание кода для обработчиков исключений, в блоке catch допустимо использовать leave.s
инструкцию для передачи управления любой инструкции в связанном try
блоке.
Если инструкция содержит один или несколько кодов префикса, элемент управления можно передать только первому из этих префиксов.
Emit Следующая перегрузка leave.s
метода может использовать код операции: