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


Атрибут event_receiver

Создает приемник событий (получатель).

Примечание.

Атрибуты событий в собственном языке C++ несовместимы со стандартом C++. Они не компилируются при указании /permissive- режима соответствия.

Синтаксис

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

Параметры

type
Перечисление одного из следующих значений:

  • native для неуправляемого кода C/C++ (по умолчанию для собственных классов).

  • com для кода COM. Для этого значения необходимо включить следующие файлы заголовков:

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

layout_dependent
Укажитеlayout_dependent, только еслиtype= com. layout_dependent — логическое значение:

  • true означает, что подпись делегатов в приемнике событий должна точно соответствовать тем, к которым они подключены в источнике событий. Имена обработчиков приемника событий должны совпадать с именами, указанными в соответствующем интерфейсе источника событий. Используется coclass при layout_dependent использовании true. Это немного эффективнее указать true.

  • false (по умолчанию) означает, что класс вызова и класс хранилища (virtual, staticи другие) не должны соответствовать методу событий и обработчикам. Имена обработчиков также не должны соответствовать именам методов исходного интерфейса события.

Замечания

Атрибут event_receiver C++ указывает, что класс или структура, к которой она применяется, будет приемником событий с помощью унифицированной модели событий Microsoft C++.

event_receiverиспользуется с атрибутом event_source и __hook__unhook ключевое слово. Используется event_source для создания источников событий. Используйте __hook методы приемника событий для связывания методов приемника событий ("перехватчика") с событиями источника событий. Используйте __unhook для разъединения их.

layout_dependent указан только для приемников событий COM (type=com). Значение layout_dependent по умолчанию — false.

Примечание.

Класс-шаблон или структура не могут содержать события.

Требования

Контекст атрибута Значение
Относится к class, struct
Повторяемый No
Обязательные атрибуты Значение coclass, если layout_dependent=true
Недопустимые атрибуты None

Дополнительные сведения см. в разделе "Контексты атрибутов".

См. также

Атрибуты компилятора
event_source
__event
__hook
__unhook
Атрибуты класса