次の方法で共有


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 

フィールド値

注釈

次の表に、命令の 16 進数と Microsoft Intermediate Language (MSIL) アセンブリ形式と、簡単な参照の概要を示します。

形式 アセンブリ形式 説明
デ <int8> leave.s target コードの保護された領域 (短い形式) を終了します。

この命令にはスタック遷移の動作は指定されません。

命令は leave.s 、現在の命令に続く命令の先頭から 1 バイトの符号付きオフセットとして表される、渡されたターゲット命令に無条件に制御を転送します。

命令はleave.s命令にbr似ていますが、または catch ブロックを終了tryfilterするために使用できますが、通常の分岐命令は、そのようなブロック内の制御を転送する場合にのみ使用できます。 この命令により leave.s 、評価スタックが空になり、適切な周囲 finally のブロックが確実に実行されます。

命令を leave.s 使用してブロックを finally 終了することはできません。 例外ハンドラーのコード生成を容易にするために、catch ブロック内から命令を使用 leave.s して、関連付けられた try ブロック内の任意の命令に制御を転送できます。

命令に 1 つ以上のプレフィックス コードがある場合、制御は最初のプレフィックスにのみ転送できます。

Emit のメソッド オーバーロードでは、オペコードを leave.s 使用できます。

適用対象