OpCodes.Unbox_Any Field
Converts the boxed representation of a type specified in the instruction to its unboxed form.
Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)
The following table lists the instruction's hexadecimal and Microsoft intermediate language (MSIL) assembly format, along with a brief reference summary:
|
Format |
Assembly Format |
Description |
|---|---|---|
|
A5 < T > |
unbox.any typeTok |
Extract the data from obj, its boxed representation. |
The stack transitional behavior, in sequential order, is:
-
An object reference obj is pushed onto the stack.
-
The object reference is popped from the stack and unboxed to the type specified in the instruction.
-
The resulting object reference or value type is pushed onto the stack.
When applied to the boxed form of a value type, the unbox.any instruction extracts the value contained within obj (of type O), and is therefore equivalent to unbox followed by ldobj.
When applied to a reference type, the unbox.any instruction has the same effect as castclass typeTok.
If the operand typeTok is a generic type parameter, then the runtime behavior is determined by the type that is specified for that generic type parameter.
InvalidCastException is thrown if obj is not a boxed type.
NullReferenceException is thrown if obj is a null reference.
The following Emit method overload can use the unbox.any opcode:
-
ILGenerator.Emit(OpCode, Type)
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.