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