Condividi tramite


Attributo event_receiver

Crea un ricevitore di eventi (sink).

Nota

Gli attributi di evento in C++ nativi non sono compatibili con C++Standard. Non vengono compilati quando si specifica la /permissive- modalità di conformità.

Sintassi

[ event_receiver(type
   [, layout_dependent=false]) ]

Parametri

type
Un'enumerazione di uno dei valori seguenti:

  • native per il codice C/C++ non gestito (impostazione predefinita per le classi native).

  • com per il codice COM. Questo valore richiede l'inclusione di questi file di intestazione:

    #define _ATL_ATTRIBUTES
    #include <atlbase.h>
    #include <atlcom.h>
    

layout_dependent
Specificare layout_dependent solo setype= com. layout_dependent è un valore booleano:

  • true significa che la firma dei delegati nel ricevitore dell'evento deve corrispondere esattamente a quelle a cui sono agganciate nell'origine evento. I nomi dei gestori del ricevitore di eventi devono corrispondere ai nomi specificati nell'interfaccia dell'origine evento pertinente. Usare coclass quando layout_dependent è true. È leggermente più efficiente specificare true.

  • false (impostazione predefinita) indica che la convenzione di chiamata e la classe di archiviazione (virtual, statice altri) non devono corrispondere al metodo di evento e ai gestori. Anche i nomi dei gestori non devono corrispondere ai nomi dei metodi dell'interfaccia dell'origine eventi.

Osservazioni:

L'attributo event_receiver C++ specifica che la classe o la struttura a cui viene applicata sarà un ricevitore di eventi, usando il modello di evento unificato Microsoft C++.

event_receiver viene usato con l'attributo event_source e le __hook parole chiave e __unhook . Usare event_source per creare origini eventi. Utilizzare __hook all'interno dei metodi di un ricevitore di eventi per associare metodi ricevitori di eventi ("hook") agli eventi di un'origine evento. Usare __unhook per annullare l'associazione.

layout_dependent è specificato solo per i ricevitori di eventi COM (type=com). L'impostazione predefinita per layout_dependent è false.

Nota

Una classe o una struttura basata su template non può contenere eventi.

Requisiti

Contesto attributo Valore
Si applica a class, struct
Ripetibile No
Attributi obbligatori coclass quando layout_dependent=true
Attributi non validi None

Per altre informazioni, vedere Contesti di attributo.

Vedi anche

Attributi del compilatore
event_source
__event
__hook
__unhook
Attributi di classe