winrt::event 結構範本 (C++/WinRT)
可用來宣告和實作指定委派型別之事件的型別。 訂閱者將其事件處理委派傳遞至事件;事件會在集合中註冊這些委派;然後,當引發時,事件會接著叫用其已註冊的委派,讓訂閱者可以處理事件。 如需撰寫事件和程式碼範例的詳細資訊,請參閱 在 C++/WinRT 中撰寫事件。
如果您需要專案內部的事件,且不限於Windows 執行階段類型,請使用eventwinrt<::d elegate> 。 如需詳細資訊,請參閱 專案內的參數化委派、簡單訊號和回呼。
如需處理事件和程式碼範例的詳細資訊,請參閱 在 C++/WinRT 中使用委派處理事件。
語法
template <typename Delegate>
struct event
範本參數
typename Delegate
可以註冊以處理事件的委派類型。
規格需求
最低支援的 SDK:Windows SDK 10.0.17134.0 版 (Windows 10版本 1803)
命名空間: winrt
標頭: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion <> \cppwinrt\winrt\base.h 預設包含 ()
成員類型別名
別名名稱 | 類型 |
---|---|
event::d elegate_type | 範本參數的 typename Delegate 同義字。 |
建構函式
建構函式 | 描述 |
---|---|
event::event 建構函式 | 初始化 事件 結構的新實例。 |
成員函數
函式 | 描述 |
---|---|
event::add 函式 | 向 事件 物件註冊委派。 |
event::remove 函式 | 撤銷 事件 物件的委派註冊。 |
成員運算子
運算子 | 描述 |
---|---|
event::operator () (函式呼叫運算子) | 使用提供的引數叫用所有 事件 物件的已註冊委派。 |
event::operator bool | 檢查 事件 物件是否有任何已向它註冊的委派。 |
event::event 建構函式
初始化 事件 結構的新實例。
語法
event();
event::add 函式
向 事件 物件註冊委派。
語法
winrt::event_token add(Delegate const& delegate);
參數
delegate
要向 事件 物件註冊的委派。
傳回值
winrt::event_token,後續可用來撤銷委派的註冊。
event::operator () (函式呼叫運算子)
使用提供的引數叫用所有 事件 物件的已註冊委派。
語法
template<typename... Arg>
void operator()(Arg const&... args)
範本參數
typename... Arg
variadic 範本參數套件,其中包含呼叫委派時所傳遞的參數類型。
參數
args
變數引數清單,其中包含呼叫委派時所傳遞的引數。
event::operator bool
檢查 事件 物件是否有任何已向它註冊的委派。
語法
explicit operator bool() const noexcept;
傳回值
true
如果 事件 物件有任何已註冊的委派,則為 ,否則 false
為 。
event::remove 函式
撤銷 事件 物件的委派註冊。
語法
void remove(winrt::event_token const token);
參數
token
winrt::event_token,識別要撤銷其註冊的委派。