Attributi (C++/CX)

Un attributo è un tipo speciale di classe ref che può essere anteporta tra parentesi quadre ai tipi e ai metodi di Windows Runtime per specificare determinati comportamenti nella creazione di metadati. Diversi attributi predefiniti, ad esempio Windows::Foundation::Metadata::WebHostHidden, vengono comunemente usati nel codice C++/CX. Nell'esempio riportato di seguito viene mostrata l'applicazione dell'attributo a una classe:

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

Attributi personalizzati

Puoi anche definire attributi personalizzati. Gli attributi personalizzati devono essere conformi alle regole di Windows Runtime seguenti:

  • Gli attributi personalizzati possono contenere solo campi pubblici.

  • I campi degli attributi personalizzati possono essere inizializzati quando l'attributo viene applicato a una classe.

  • Un campo può essere uno dei seguenti tipi:

    • int32 (int)

    • uint32 (int non firmato)

    • bool

    • Platform::String^

    • Windows::Foundation::HResult

    • Platform::Type^

    • classe enum pubblica (include le enumerazioni definite dall'utente)

Nell'esempio riportato di seguito viene mostrato come definire un attributo personalizzato e quindi inizializzarlo quando lo si utilizza.

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

Vedi anche

Sistema di tipi (C++/CX)
Riferimenti al linguaggio C++/CX
Riferimenti a spazi dei nomi