OpCodes.Leave 欄位
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
結束程式碼的保護區,無條件地將控制權傳輸至特定的目標指令。
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 Intermediate Language (MSIL) 元件格式,以及簡短的參考摘要:
格式 | 元件格式 | Description |
---|---|---|
Dd <int32 > |
離開 target |
結束受保護的程式代碼區域。 |
沒有為此指令指定的堆疊轉換行為。
指令 leave
會無條件地將控制權傳輸至特定目標指令,此指令會依照目前的指示,以 4 位元組帶正負號的位移表示。
指令 leave
與 br
指令類似,但可用來結束 try
、 filter
或 catch
區塊,而一般分支指令只能用於這類區塊中以傳輸控制件。 指令 leave
會清空評估堆疊,並確保執行適當的周圍 finally
區塊。
您無法使用 leave
指示結束 finally
區塊。 為了簡化例外狀況處理程式的程式代碼產生,它可以從 catch 區塊內使用 leave
指令將控制權傳送至相關聯 try
區塊內的任何指令。
如果指令有一或多個前置詞代碼,則控件只能傳送到這些前置詞的第一個。
下列 Emit 方法多載可以使用 leave
opcode: