CIL フォーマット
A5 (T)
/ unbox.any (typeTok)
スタック
..., obj → ..., value or obj
詳細
ボックス化された値型に適用した場合、obj に含まれる値を抽出します。 これは unbox と ldobj を順に実行するのと同じです。 参照型に適用した場合、castclass と同じ効果となります。
typeTok が GenericParam の場合、 実行時のふるまいはパラメータの実際のインスタンス化によって決定されます。
Exception
obj がボックス化された値でも参照型でもない場合、 typeTok が Nullable<T> でかつ obj がボックス化された T でない場合、 もしくは obj に含まれる値の型が typeTok と代入互換性がない場合には、 InvalidCastException が発生します。
obj が null であり、typeTok が null 許容型でない場合、 NullReferenceException が発生します。