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
デリゲートが呼び出されたときに渡されるパラメーターの型を含む可変テンプレート パラメーター パック。
パラメーター
args
デリゲートが呼び出されたときに渡される引数を含む変数引数リスト。
event::operator bool
イベント オブジェクトにデリゲートが登録されているかどうかを確認します。
構文
explicit operator bool() const noexcept;
戻り値
true
イベント オブジェクトに登録済みのデリゲートがある場合は 。それ以外の場合false
は 。
event::remove 関数
イベント オブジェクトからデリゲートの登録を取り消します。
構文
void remove(winrt::event_token const token);
パラメーター
token
登録を取り消すデリゲートを識別する winrt::event_token 。