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.
public value class TypeName
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)] struct TypeName
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)] public struct Type
Public Structure Type
Windows 10 requirements
Windows 10 (introduced in 10.0.10240.0)
Windows.Foundation.UniversalApiContract (introduced in v1.0)
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.
A TypeKind value containing basic guidance regarding the origin of the type.
The name of the type. Depending on the value of Kind (see below), Name can contain any of the following.