OpCodes.Unbox_Any 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í.
Convierte la representación boxing de un tipo especificado en la instrucción en su formulario sin conversión boxing.
public: static initonly System::Reflection::Emit::OpCode Unbox_Any;
public static readonly System.Reflection.Emit.OpCode Unbox_Any;
staticval mutable Unbox_Any : System.Reflection.Emit.OpCode
Public Shared ReadOnly Unbox_Any As OpCode
Valor de campo
Comentarios
En la tabla siguiente se muestra el formato de ensamblado hexadecimal de la instrucción y del lenguaje intermedio de Microsoft (MSIL), junto con un breve resumen de referencia:
Formato | Formato de ensamblado | Descripción |
---|---|---|
A5 <T > |
unbox.any typeTok |
Extraiga los datos de obj , su representación boxed. |
El comportamiento de transición de la pila, en orden secuencial, es:
Una referencia de objeto
obj
se inserta en la pila.La referencia de objeto se extrae de la pila y se desboxe al tipo especificado en la instrucción .
La referencia de objeto resultante o el tipo de valor se inserta en la pila.
Cuando se aplica a la forma boxed de un tipo de valor, la instrucción unbox.any
extrae el valor contenido en obj
(de tipo O
) y, por tanto, es equivalente a unbox
seguido de ldobj
.
Cuando se aplica a un tipo de referencia, la instrucción unbox.any
tiene el mismo efecto que castclass
typeTok
.
Si el operando typeTok
es un parámetro de tipo genérico, el comportamiento en tiempo de ejecución viene determinado por el tipo especificado para ese parámetro de tipo genérico.
InvalidCastException se produce si obj
no es un tipo boxizado.
NullReferenceException se produce si obj
es una referencia nula.
La siguiente sobrecarga del método Emit puede usar el código de operación unbox.any
: