OpCodes.Stelem_Ref Campo
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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:
Una referencia de objeto a una matriz,
array
, se inserta en la pila.Un índice válido para un elemento de se inserta en
array
la pila.Un valor se inserta en la pila.
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: