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í.
Reemplaza el elemento de matriz en un índice determinado por el valor ref del objeto (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 Microsoft lenguaje intermedio (MSIL), junto con un breve resumen de referencia:
| Formato | Formato de ensamblado | Description |
|---|---|---|
| A2 | stelem.ref | Reemplaza un elemento de matriz en el índice proporcionado por el ref valor (tipo O) de la pila. |
El comportamiento de transición 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
arrayla pila.Se inserta un valor 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 lo 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 están basadas en 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: