属性 (C++/CX)

属性は、メタデータ作成時に特定の動作を指定するために、Windows Runtime の型とメソッドの前に角かっこで囲まれた特殊な種類の ref クラスです。 たとえば ——など、いくつかの定義済みの属性は — 、C++/CX コードで一般的に使用されます。 この例では、属性がクラスに適用される方法を示します。

[Windows::Foundation::Metadata::WebHostHidden]
public ref class MyClass : Windows::UI::Xaml::DependencyObject {};

カスタム属性

カスタム属性も定義できます。 カスタム属性は、ランタイム規則に従Windows必要があります。

  • カスタム属性は、パブリック フィールドだけを格納できます。

  • カスタム属性フィールドは、属性がクラスに適用されるときに初期化できます。

  • フィールドは、次に示すいずれかの型になることができます。

    • int32 (int)

    • uint32 (unsigned int)

    • [bool]

    • Platform::String^

    • Windows::Foundation::HResult

    • Platform::Type^

    • パブリック列挙型クラス (ユーザー定義列挙型を含む)

次の例では、カスタム属性を定義し、使用時に初期化する方法を示します。

[Windows::Foundation::Metadata::WebHostHiddenAttribute]
public ref class MyCustomAttribute sealed : Platform::Metadata::Attribute {
public:
    int Num;
    Platform::String^ Msg;
};

[MyCustomAttribute(Num=5, Msg="Hello")]
public ref class Class1 sealed
{
public:
    Class1();
};

こちらもご覧ください

型システム (C++/CX)
C++/CX 言語リファレンス
名前空間リファレンス