--- title: "Platform::IBox Interface | Microsoft Docs" ms.custom: "" ms.date: "12/30/2016" ms.technology: "cpp-windows" ms.reviewer: "" ms.suite: "" ms.tgt_pltfrm: "" ms.topic: "language-reference" f1_keywords: ['VCCORLIB/Namespace not found::Platform', 'VCCORLIB/Namespace not found::Platform::Value'] dev_langs: - "C++" ms.assetid: 774df45d-f8a7-45a3-ae24-eecc3c681040 caps.latest.revision: 5 author: "ghogen" ms.author: "ghogen" manager: "ghogen" --- # Platform::IBox Interface The [Platform::IBox](../cppcx/platform-ibox-interface.md) interface is the C++ name for the `Windows::Foundation::IReference` interface. ## Syntax ```cpp template interface class IBox ``` #### Parameters `T` The type of the boxed value. ### Remarks The `IBox` interface is primarily used internally to represent nullable value types, as described in [Value classes and structs (C++/CX)](../cppcx/value-classes-and-structs-c-cx.md). The interface is also used to box value types that are passed to C++ methods that take parameters of type `Object^`. You can explicitly declare an input parameter as `IBox`. For an example, see [Boxing](../cppcx/boxing-c-cx.md). ### Requirements ### Members The `Platform::IBox` interface inherits from the [Platform::IValueType](../cppcx/platform-ivaluetype-interface.md) interface. `IBox` has these members: **Properties** |Method|Description| |------------|-----------------| |[Value](#value)|Returns the unboxed value that was previously stored in this `IBox` instance.| ## IBox::Value Property Returns the value that was originally stored in this object. ### Syntax ```cpp property T Value {T get();} ``` ### Parameters `T` The type of the boxed value. ### Property Value/Return Value Returns the value that was originally stored in this object. ### Remarks For an example, see [Boxing](../cppcx/boxing-c-cx.md). ## See Also [Platform namespace](../cppcx/platform-namespace-c-cx.md)