共用方式為


OpCodes.Ret 欄位

定義

從目前方法傳回,將被呼叫端評估堆疊的傳回值 (如果有) 推送至呼叫端的評估堆疊。

public: static initonly System::Reflection::Emit::OpCode Ret;
public static readonly System.Reflection.Emit.OpCode Ret;
 staticval mutable Ret : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ret As OpCode 

欄位值

備註

下表列出指示的十六進位和 Microsoft Intermediate Language (MSIL) 元件格式,以及簡短的參考摘要:

格式 元件格式 Description
2A Ret 從方法傳回,可能傳回值。

堆疊轉換行為會依循序順序為:

  1. 傳回值會從被呼叫端評估堆疊快顯。

  2. 在步驟 1 中取得的傳回值會推送至呼叫端評估堆疊。

如果傳回值不存在於被呼叫端評估堆疊上,則不會傳回任何值, (呼叫端或呼叫端方法) 沒有堆棧轉換行為。

如果目前方法有任何值,則傳回值的型別會決定要從堆疊頂端擷取的值類型,並複製到呼叫目前方法的方法堆疊上。 目前方法的評估堆疊必須是空的,但要傳回的值除外。

指令ret無法用來將控制權移出tryfiltercatchfinally 區塊。 從 或 catchtry,使用 Leave 指令與位於所有封入例外狀況區塊外之指令的ret目的地。 filter由於和 finally 區塊是例外狀況處理的邏輯部分,而不是其程式代碼內嵌的方法,因此正確產生的 Microsoft Intermediate Language (MSIL) 指令不會在 或 finallyfilter執行方法傳回。

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

適用於