event_receiver
屬性
建立事件接收器 (接收)。
注意
原生 C++ 中的事件屬性與標準 C++ 不相容。 當您指定 /permissive-
一致性模式時,它們不會編譯。
語法
[ event_receiver(type
[, layout_dependent=false]) ]
參數
type
下列其中一個值的列舉:
native
適用於 Unmanaged C/C++ 程式代碼(原生類別的預設值)。COM 程式碼的
com
。 這個值需要您包含這些標頭檔:#define _ATL_ATTRIBUTES #include <atlbase.h> #include <atlcom.h>
layout_dependent
只有在 com 時type
=指定 。layout_dependent
layout_dependent
是布林值:
true
表示事件接收器中委派的簽章必須與事件來源中連結的委派簽章完全相符。 事件處理程式名稱必須符合相關事件來源介面中指定的名稱。 當是true
時layout_dependent
,請使用coclass
。 指定true
會稍微更有效率。false
(default) 表示呼叫慣例和儲存類別 (virtual
、static
和其他) 不需要符合事件方法和處理程式。 處理程式名稱也不需要符合事件來源介面方法名稱。
備註
event_receiver
C++ 屬性會使用Microsoft C++統一事件模型,指定套用至它的類別或結構將是事件接收器。
event_receiver
與屬性和 __hook
和 __unhook
關鍵詞搭配event_source
使用。 用來 event_source
建立事件來源。 在事件接收器的方法內使用 __hook
,將 (“hook”) 事件接收者方法與事件來源的事件產生關聯。 使用 __unhook
來解除關聯。
layout_dependent
僅針對 COM 事件接收器 (type
=com
) 指定。 layout_dependent
的預設值為 false
。
注意
樣板類別或結構不能包含事件。
需求
屬性內容 | 值 |
---|---|
適用於 | class , struct |
可重複 | No |
必要屬性 | 若為 layout_dependent =true 則為 coclass |
無效屬性 | 無 |
如需詳細資訊,請參閱 屬性內容。