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
Значение поля
Комментарии
В следующей таблице перечислены шестнадцатеричные и шестнадцатеричные и Microsoft формат сборки промежуточного языка (MSIL) инструкции, а также краткая сводка по ссылке:
| Формат | Формат сборки | Description |
|---|---|---|
ДЕ <int8> |
leave.s target |
Выход из защищенной области кода, короткой формы. |
Для этой инструкции не указано поведение перехода стека.
Инструкция leave.s безусловно передает контроль в переданную целевую инструкцию, представленную как смещение со знаком 1 байта с начала инструкции после текущей инструкции.
Инструкция leave.s аналогична инструкции, но ее можно использовать для выхода brиз нее tryfilterили catch блокировать, а обычные инструкции ветви можно использовать только в таком блоке для передачи управления внутри него. Инструкция leave.s очищает стек вычислений и гарантирует выполнение соответствующих окружающих finally блоков.
Инструкцию leave.s нельзя использовать для выхода из finally блока. Чтобы упростить создание кода для обработчиков исключений, он действителен в блоке catch, чтобы использовать leave.s инструкцию для передачи управления любой инструкции в связанном try блоке.
Если инструкция содержит один или несколько кодов префикса, управление может быть передано только первому из этих префиксов.
Следующая Emit перегрузка метода может использовать leave.s код opcode: