語言

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)組合格式,並附有簡短參考摘要:

Format 組裝格式 Description
DE <int8> 離開。 target 退出受保護的程式碼區域,簡短表態。

此指令未指定堆疊轉換行為。

指令 leave.s 無條件將控制權轉移給傳遞的目標指令,該目標指令以從當前指令開始起點起的 1 位元組有號偏移量表示。

此 leave.s 指令與指令 br 相似,但可用於退出 try、 filter或 catch 區塊,而一般分支指令只能在此類區塊內轉移控制權。 指令 leave.s 會清空評估堆疊,並確保執行適當的周圍 finally 區塊。

你不能用 leave.s 指令退出 finally 區塊。 為了方便異常處理程式產生程式碼,從捕捉區塊內使用 leave.s 指令將控制權轉移到該區塊 try 內的任何指令是有效的。

若指令有一個或多個前綴代碼,控制權只能轉移至這些前綴中的第一個。

以下 Emit 方法的超載可使用操作 leave.s 碼:

適用於