TypeName 結構

定義

替代 System.Type ,讓其他 API 所報告的類型資訊不相依于 Common Language Runtime (CLR) 。 此結構會依 UnderlyingTypeType等屬性作為值使用。

。網 使用 .NET 進行程式設計時,此類型會隱藏,您應該使用 System.Type 類型 。 當您搭配 .NET 程式碼使用 API 時,會改用每個原始 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」。

適用於

另請參閱