Skip to content

Latest commit

 

History

History
46 lines (29 loc) · 2.42 KB

typename.md

File metadata and controls

46 lines (29 loc) · 2.42 KB
-api-id -api-type
T:Windows.UI.Xaml.Interop.TypeName
winrt struct

TypeName

-description

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.

-struct-fields

-field 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".

-field Kind

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

-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.

-examples

-see-also

System.Type, IXamlType, Type System (C++/CX)