Атрибут 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 |
Недопустимые атрибуты | нет |
Дополнительные сведения см. в разделе "Контексты атрибутов".
См. также
Атрибуты компилятора
event_source
__event
__hook
__unhook
Атрибуты класса