次の方法で共有


TypeName 構造体

定義

他の API によって報告される型情報が共通言語ランタイム (CLR) に依存しないように、 System.Type に置き換えます。 この構造体は、 UnderlyingType や Type などのプロパティによって値として使用 されます

。ネット .NET を使用してプログラミングする場合、この型は非表示になり、 System.Type 型 を使用する必要があります。 生の IDL シグネチャごとに TypeName を使用するすべてのWindows ランタイム API は、.NET コードで API を使用する場合、代わりに System.Type 値を使用します。

C++/WinRTwinrt::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) を使用している場合、 Name プロパティと Kind プロパティはフィールドではなく読み取り/書き込みプロパティです。 この構造体の定義は、拡張機能の動作の一部として platform.winmd によって提供されます。

Windows ランタイム テンプレート ライブラリ (WRL) を使用して C++ を使用してプログラミングする場合、名前種類はフィールドです。

フィールド

Kind

型の原点に関する基本的なガイダンスを含む TypeKind 値。

Name

型の名前。 Kind (下記参照) の値に応じて、Name には次のいずれかを含めることができます。

  • KindTypeKind::Custom に設定されている場合、Name の内容は指定されておらず、言語プロジェクションに依存します (C# の場合、値は完全修飾名です)。
  • KindTypeKind::Metadata に設定されている場合、Name には"Windows.UI.Xaml.Controls.Button" などのWindows ランタイムクラス名が含まれます。
  • KindTypeKind::P rimitive に設定されている場合、Name には "Int32" などのプリミティブ名が含まれます。

適用対象

こちらもご覧ください