属性 (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();
};