次の方法で共有


OpCodes.Leave_S フィールド

コードの保護領域を終了し、制御をターゲット命令に無条件で転送します (短い形式)。

Public Shared ReadOnly Leave_S As OpCode
[C#]
public static readonly OpCode Leave_S;
[C++]
public: static OpCode Leave_S;
[JScript]
public static var Leave_S : OpCode;

解説

命令の 16 進数の形式、MSIL (Microsoft Intermediate Language) アセンブリ形式、および簡単な説明の一覧を次の表に示します。

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

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

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

leave.s 命令は、 br 命令に似ています。この命令が try、filter、または catch の各ブロックを終了するために使用できる命令であるのに対し、通常の分岐命令は、このようなブロック内の制御を転送するためにブロック内だけで使用できます。 leave.s 命令は、評価スタックを空にし、適切な前後の finally ブロックが実行されるようにします。

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

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

leave.s オペコードを使用できる Emit コンストラクタ オーバーロードを次に示します。

  • ILGenerator.Emit(OpCode, Label)

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

OpCodes クラス | OpCodes メンバ | System.Reflection.Emit 名前空間