共用方式為


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 Intermediate Language (MSIL) 元件格式,以及簡短的參考摘要:

格式 元件格式 Description
Dd <int32> 離開 target 結束受保護的程式代碼區域。

沒有為此指令指定的堆疊轉換行為。

指令 leave 會無條件地將控制權傳輸至特定目標指令,此指令會依照目前的指示,以 4 位元組帶正負號的位移表示。

指令 leavebr 指令類似,但可用來結束 tryfiltercatch 區塊,而一般分支指令只能用於這類區塊中以傳輸控制件。 指令 leave 會清空評估堆疊,並確保執行適當的周圍 finally 區塊。

您無法使用 leave 指示結束 finally 區塊。 為了簡化例外狀況處理程式的程式代碼產生,它可以從 catch 區塊內使用 leave 指令將控制權傳送至相關聯 try 區塊內的任何指令。

如果指令有一或多個前置詞代碼,則控件只能傳送到這些前置詞的第一個。

下列 Emit 方法多載可以使用 leave opcode:

適用於