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 |
無效屬性 | 無 |
如需詳細資訊,請參閱 屬性內容 。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應