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:

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