Compartir a través de


OpCodes.Stelem_Ref Campo

Definición

Sustituye el elemento de la matriz que se encuentra en una posición de índice determinada por el valor de referencia a objeto (de tipo O) en la pila de evaluación.

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 

Valor de campo

Comentarios

En la tabla siguiente se muestra el formato de ensamblado hexadecimal y del lenguaje intermedio de Microsoft (MSIL), junto con un breve resumen de referencia:

Formato Formato de ensamblado Descripción
A2 stelem.ref Reemplaza un elemento de matriz en el índice proporcionado por el ref valor (tipo O) de la pila.

El comportamiento transitorio de la pila, en orden secuencial, es:

  1. Una referencia de objeto a una matriz, array, se inserta en la pila.

  2. Un índice válido para un elemento de se inserta en array la pila.

  3. Un valor se inserta en la pila.

  4. El valor, el índice y la referencia de matriz se extrae de la pila; el valor se coloca en el elemento de matriz en el índice especificado.

La stelem.ref instrucción reemplaza el valor del elemento en el índice proporcionado de la matriz array unidimensional por el ref valor (tipo O) insertado en la pila.

Las matrices son objetos y, por tanto, se representan mediante un valor de tipo O. El índice es de tipo native int.

Tenga en cuenta que stelem.ref convierte implícitamente el valor proporcionado en el tipo de elemento de antes de array asignar el valor al elemento de matriz. Esta conversión puede producir un error, incluso para el código comprobado. Por lo tanto, la stelem.ref instrucción puede producir InvalidCastException. Para matrices unidimensionales que no son de base cero y para matrices multidimensionales, la Array clase proporciona un SetValue método .

NullReferenceException se produce si array es una referencia nula.

IndexOutOfRangeException se produce si index es negativo o mayor que el límite de array.

ArrayTypeMismatchException se produce si array no contiene elementos del tipo necesario.

La sobrecarga del método siguiente Emit puede usar el stelem.ref código de operación:

Se aplica a