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