The following table lists the instruction's hexadecimal and Microsoft intermediate language (MSIL) assembly format, along with a brief reference summary:
A5 < T > |
unbox.any typeTok |
Extract the data from obj, its boxed representation. |
The stack transitional behavior, in sequential order, is:
[The 'ordered' type of list has not been implemented in the ECMA stylesheet.]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 ILGenerator.Emit(OpCode) method overload can use the unbox.any opcode:
ILGenerator.Emit(OpCode, Type)