特性 (C++/CX)

特性是一类特殊的 ref 类,可在方括号中将其附加在 Windows 运行时类型和方法之前,以指定元数据创建中的某些行为。 几个预定义属性(例如,Windows::Foundation::Metadata::WebHostHidden)常用于 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 语言参考
命名空间参考