Поделиться через


Атрибуты (C++/CX)

Атрибут — это особый класс ссылок, который можно приставить в квадратные скобки к среда выполнения 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^

    • public enum class (включая перечисления, определяемые пользователем).

В следующем примере показано, как определить настраиваемый атрибут, а затем инициализировать его при использовании.

[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
Справочник по пространствам имен