TypeName 结构

定义

替换 System.Type ,使其他 API 报告的类型信息不依赖于公共语言运行时 (CLR) 。 此结构由 UnderlyingTypeType 等属性用作值。

。网 使用 .NET 编程时,此类型是隐藏的,应使用 System.Type 类型。 将 API 与 .NET 代码配合使用时,所有按原始 IDL 签名使用 TypeName 的Windows 运行时 API 都将改用 System.Type 值。

C++/WinRT 可以使用 winrt::xaml_typename<T> () 帮助程序函数创建 TypeName 对象。 有关更多详细信息,请参阅 winrt::xaml_typename 函数模板 和代码示例。

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
继承
TypeName
属性

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

注解

投影和 TypeName 的成员

如果使用 Visual C++ 组件扩展 (C++/CX) ,则 NameKind 是读写属性,而不是字段。 结构的此定义由 platform.winmd 提供,作为扩展行为的一部分。

如果使用 Windows 运行时 模板库 (WRL) 使用 C++ 进行编程,则“名称”和“类型”是字段。

字段

Kind

一个 TypeKind 值,其中包含有关类型来源的基本指南。

Name

类型的名称。 根据 Kind (的值,请参阅下面的) , Name 可以包含以下任何内容。

  • 如果 Kind 设置为 TypeKind::Custom,则 Name 的内容未指定,而对于 C#,则依赖于语言投影的 (,该值是) 完全限定的名称。
  • 如果 Kind 设置为 TypeKind::Metadata,则 Name 包含Windows 运行时类名,例如“Windows.UI.Xaml.Controls.Button”。
  • 如果 Kind 设置为 TypeKind::P rimitive,则 Name 包含基元名称,例如“Int32”。

适用于

另请参阅