OpCodes.Stelem_Ref フィールド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定のインデックス位置にある配列要素をオブジェクト参照値 (O
型) に置き換えます。
public: static initonly System::Reflection::Emit::OpCode Stelem_Ref;
public static readonly System.Reflection.Emit.OpCode Stelem_Ref;
staticval mutable Stelem_Ref : System.Reflection.Emit.OpCode
Public Shared ReadOnly Stelem_Ref As OpCode
フィールド値
注釈
次の表に、命令の 16 進数と Microsoft Intermediate Language (MSIL) アセンブリ形式と、簡単なリファレンスの概要を示します。
形式 | アセンブリ形式 | 説明 |
---|---|---|
A2 | stelem.ref | 指定されたインデックスにある配列要素を、スタック上の ref 値 (型 O ) に置き換えます。 |
スタック遷移の動作は、順番に次のようになります。
配列 へのオブジェクト参照 (
array
) がスタックにプッシュされます。内
array
の要素に対する有効なインデックスがスタックにプッシュされます。値がスタックにプッシュされます。
値、インデックス、配列参照がスタックからポップされます。値は、指定されたインデックスの配列要素に格納されます。
命令は stelem.ref
、1 次元配列 array
ref
内の指定されたインデックスにある要素の値を、スタックにプッシュされた (型 O
) 値に置き換えます。
配列はオブジェクトであるため、 型 O
の値で表されます。 インデックスは 型 native int
です。
stelem.ref
配列要素に値を割り当てる前に、指定された値を のarray
要素型に暗黙的にキャストすることに注意してください。 検証済みコードの場合でも、このキャストは失敗する可能性があります。 したがって、命令は を stelem.ref
スロー InvalidCastExceptionできます。 0 から始まる配列ではない 1 次元配列と多次元配列の場合、 Array クラスは メソッドを SetValue 提供します。
NullReferenceException が null 参照の場合 array
は がスローされます。
IndexOutOfRangeExceptionが負の場合、または のarray
境界より大きい場合index
は がスローされます。
ArrayTypeMismatchException が必要な型の要素を保持していない場合 array
は がスローされます。
次 Emit のメソッド オーバーロードでは、オペコードを stelem.ref
使用できます。
適用対象
.NET