Share via


TypeName Struct

Definition

Substitutes for System.Type such that type information reported by other APIs doesn't have a dependency on the common language runtime (CLR). This structure is used as a value by properties such as UnderlyingType and Type.

.NET When programming with .NET, this type is hidden and you should use the System.Type type. All Windows Runtime APIs that use a TypeName per the raw IDL signatures will instead use System.Type values when you use the API with .NET code.

C++/WinRT You can use the winrt::xaml_typename<T>() helper function to create a TypeName object. See winrt::xaml_typename function template for more details, and a code example.

[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public struct Type
Inheritance
TypeName
Attributes

Windows requirements

Device family
Windows 10 (introduced in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v1.0)

Remarks

Projection and members of TypeName

If you are using Visual C++ component extensions (C++/CX), then Name and Kind are read-write properties, not fields. This definition of the structure is provided by platform.winmd, as part of the extension behavior.

If you are programming with C++ using the Windows Runtime Template Library (WRL), then Name and Kind are fields.

Fields

Kind

A TypeKind value containing basic guidance regarding the origin of the type.

Name

The name of the type. Depending on the value of Kind (see below), Name can contain any of the following.

  • If Kind is set to TypeKind::Custom, then the contents of Name is unspecified, and language-projection-dependent (in the case of C#, the value is a fully-qualified name).
  • If Kind is set to TypeKind::Metadata, then Name contains the Windows Runtime class name, such as "Windows.UI.Xaml.Controls.Button".
  • If Kind is set to TypeKind::Primitive, then Name contains a primitive name, such as "Int32".

Applies to

Product Versions
WinRT Build 10240, Build 10586, Build 14383, Build 15063, Build 16299, Build 17134, Build 17763, Build 18362, Build 19041, Build 20348, Build 22000, Build 22621, Build 26100

See also