---
description: "Learn more about: Platform::Type Class"
title: "Platform::Type Class"
ms.date: "12/30/2016"
ms.topic: "reference"
f1_keywords: ["VCCORLIB/Platform::Type::GetTypeCode", "VCCORLIB/Platform::Type::FullName"]
helpviewer_keywords: ["Platform::Type Class"]
ms.assetid: d6b03f1e-b240-49b9-a08e-53a460030475
---
# Platform::Type Class
Contains run-time information about a type—specifically, a string name and a typecode. Obtained by calling [Object::GetType](../cppcx/platform-object-class.md#gettype) on any object or using the [typeid](../extensions/typeid-cpp-component-extensions.md) operator on a class or struct name.
## Syntax
```cpp
public ref class Platform::Type :
Platform::Object, Platform::Details::IEquatable,
Platform::Details::IPrintable
```
### Remarks
The `Type` class is useful in applications that must direct processing by using an **`if`** or **`switch`** statement that branches based on the run-time type of an object. The type code that describes the category of a type is retrieved by using the [Type::GetTypeCode](#gettypecode) member function.
## Public methods
| Name | Description |
|--|--|
| [Type::GetTypeCode Method](#gettypecode) | Returns a [Platform::TypeCode Enumeration](../cppcx/platform-typecode-enumeration.md) value for the object. |
| [Type::ToString Method](#tostring) | Returns the name of the type as specified in its metadata. |
## Public properties
| Name | Description |
|--|--|
| [Type::FullName](#fullname) | Returns a [Platform::String Class](../cppcx/platform-string-class.md)^ that represents the fully qualified name of the type, and uses . (dot) as a separator, not :: (double colon)—for example, `MyNamespace.MyClass`. |
## Conversion operators
| Name | Description |
|--|--|
| [operator Type^](../cppcx/operator-type-hat.md) | Enables conversion from `Windows::UI::Xaml::Interop::TypeName` to `Platform::Type`. |
| [operator Windows::UI::Xaml::Interop::TypeName](../cppcx/operator-windows-ui-xaml-interop-typename.md) | Enables conversion from `Platform::Type` to `Windows::UI::Xaml::Interop::TypeName`. |
### Requirements
**Minimum supported client:** Windows 8
**Minimum supported server:** Windows Server 2012
**Namespace:** Platform
**Metadata:** platform.winmd
## Type::FullName Property
Retrieves the fully-qualified name of the current type in the form `Namespace.Type`.
### Syntax
```cpp
String^ FullName();
```
### Return Value
The name of the type.
### Example
```cpp
// namespace is TestApp
MainPage::MainPage()
{
InitializeComponent();
Type^ t = this->GetType();
auto s = t->FullName; // returns "TestApp.MainPage"
auto s2 = t->ToString(); //also returns "TestApp.MainPage"
}
```
## Type::GetTypeCode Method
Retrieves a built-in types numerical type category.
### Syntax
```cpp
Platform::TypeCode GetTypeCode();
```
### Return Value
One of the Platform::TypeCode enumerated values.
### Remarks
The equivalent of the GetTypeCode() member method is the **`typeid`** property.
## Type::ToString Method
Retrieves a the name of the type.
### Syntax
```cpp
Platform::String^ ToString();
```
### Return Value
A name of the type as specified in its metadata.
## See also
[Platform namespace](../cppcx/platform-namespace-c-cx.md)