OpCodes.Ret 欄位
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從目前方法傳回,將被呼叫端評估堆疊的傳回值 (如果有) 推送至呼叫端的評估堆疊。
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 中取得的傳回值會推送至呼叫端評估堆疊。
如果傳回值不存在於被呼叫端評估堆疊上,則不會傳回任何值, (呼叫端或呼叫端方法) 沒有堆棧轉換行為。
如果目前方法有任何值,則傳回值的型別會決定要從堆疊頂端擷取的值類型,並複製到呼叫目前方法的方法堆疊上。 目前方法的評估堆疊必須是空的,但要傳回的值除外。
指令ret
無法用來將控制權移出try
、 filter
catch
或 finally
區塊。 從 或 catch
內try
,使用 Leave 指令與位於所有封入例外狀況區塊外之指令的ret
目的地。
filter
由於和 finally
區塊是例外狀況處理的邏輯部分,而不是其程式代碼內嵌的方法,因此正確產生的 Microsoft Intermediate Language (MSIL) 指令不會在 或 finally
內filter
執行方法傳回。
下列 Emit 方法多載可以使用 ret
opcode: