次の方法で共有


winrt::delegate 構造体テンプレート (C++/WinRT)

独自のイベントのカスタム デリゲート型を宣言するために使用できる型。 デリゲートは任意の数のパラメーターをサポートしており、Windows ランタイム型に限定されません。

デリゲート型には ABI がありません (アプリケーション バイナリ間で使用するためのインターフェイスがないため、そのユース ケースは、同じプロジェクト内でイベントを作成して使用する場合です。 そのシナリオの詳細については、「 パラメーター化されたデリゲート、単純なシグナル、およびプロジェクト内のコールバック」を参照してください。

イベントの処理とコード例の詳細については、「 C++/WinRT でデリゲートを使用してイベントを処理する」を参照してください。

構文

template <typename... T>
struct delegate : Windows::Foundation::IUnknown

テンプレート パラメーター

typename... T デリゲートが呼び出されたときに渡されるパラメーターの型を含む可変個引数テンプレート パラメーター パック。

必要条件

サポートされている最小 SDK: Windows SDK バージョン 10.0.17134.0 (Windows 10、バージョン 1803)

名前空間: winrt

ヘッダー: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (既定で含まれています)

コンストラクター

コンストラクター 説明
delegate::d elegate コンストラクター 入力データから デリゲート 構造体の新しいインスタンスを初期化します。

メンバー演算子

演算子 説明
delegate::operator() (関数呼び出し演算子) 指定された引数を使用して 、デリゲート オブジェクトによって表されるデリゲートを呼び出します。

delegate::d elegate コンストラクター

入力データから デリゲート 構造体の新しいインスタンスを初期化します。

構文

delegate(std::nullptr_t = nullptr) noexcept;

template <typename L>
delegate(L lHandler);

template <typename F>
delegate(F* fHandler);

template <typename O, typename M>
delegate(O* object, M method);

テンプレート パラメーター

typename L ラムダ関数の型。

typename F 無料の関数型。

typename O オブジェクト型。

typename M メンバー関数へのポインター型。

パラメーター

lHandler イベントを処理するラムダ関数。

fHandler イベントを処理するフリー関数へのポインター。

object メンバー関数がイベントを処理するオブジェクトへのポインター。

method イベントを処理するメンバーへのポインター関数。

delegate::operator() (関数呼び出し演算子)

指定された引数を使用して 、デリゲート オブジェクトによって表されるデリゲートを呼び出します。

構文

void operator()(T const&... args) const

関連項目