Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Type que vous pouvez utiliser pour déclarer un type délégué personnalisé pour vos propres événements. delegate supports any number of parameters, and they are not limited to Windows Runtime types.
The delegate type has no ABI (it has no interface for use across application binaries), so its use case is when you're both authoring and consuming an event within the same project. Pour plus d’informations sur ce scénario, consultez délégués paramétrables, signaux simples et rappels au sein d’un projet.
Pour plus d’informations sur la gestion des événements et des exemples de code, consultez Gérer les événements à l’aide de délégués en C++/WinRT.
Syntax
template <typename... T>
struct delegate : Windows::Foundation::IUnknown
Template parameters
typename... T Pack de paramètres de modèle variadic contenant les types des paramètres passés par le délégué lorsqu’il est appelé.
Requirements
SDK minimum pris en charge : Kit de développement logiciel (SDK) Windows version 10.0.17134.0 (Windows 10, version 1803)
Namespace: winrt
Header: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (included by default)
Constructors
| Constructor | Description |
|---|---|
| delegate::delegate constructor | Initializes a new instance of the delegate struct from the input data. |
Member operators
| Operator | Description |
|---|---|
| delegate ::operator() (opérateur d’appel de fonction) | Invokes the delegate represented by the delegate object with the provided arguments. |
delegate::delegate constructor
Initializes a new instance of the delegate struct from the input data.
Syntax
delegate(std::nullptr_t = nullptr) noexcept; // (1)
template <typename L>
delegate(L lHandler); // (2)
template <typename F>
delegate(F* fHandler); // (3)
template <typename O, typename M>
delegate(O* object, M method); // (4)
template <typename O, typename M>
delegate(winrt::com_ptr<O>&& object, M method); // (5)
template <typename O, typename M>
delegate(winrt::weak_ref<O>&& object, M method); // (6)
template <typename O, typename M>
delegate(winrt::weak_ref<O>&& object, L lHandler); // (7)
template <typename O, typename M>
delegate(std::shared_ptr<O>&& object, M method); // (8)
template <typename O, typename M>
delegate(std::weak_ptr<O>&& object, M method); // (9)
template <typename O, typename M>
delegate(std::weak_ptr<O>&& object, L lHandler); // (10)
Template parameters
typename L Type lambda, ou plus généralement, tout type qui prend en charge la syntaxe d’appel de fonction, tel qu’un std::function.
typename F Type de fonction libre.
typename O Type d’objet.
typename M Type de fonction pointeur vers membre.
Parameters
lHandler Objet lambda, ou plus généralement, objet qui prend en charge la syntaxe d’appel de fonction, tel qu’un std::function, qui gère l’événement.
fHandler Fonction pointeur vers libre, qui gère l’événement.
object Objet, dont l’une des fonctions membres gère l’événement.
Selon la surcharge, cet objet peut être représenté par un pointeur brut ou un pointeur intelligent.
method Fonction pointeur vers membre, qui gère l’événement.
Remarks
Le constructeur par défaut (1) construit un délégué vide.
Le constructeur (2) construit un délégué qui appelle l’expression lambda avec les arguments délégués.
Le constructeur (3) construit un délégué qui appelle la fonction avec les arguments délégués.
Le constructeur (4) construit un délégué qui appelle la méthode de l’objet pointu avec les arguments délégués.
Le constructeur (5) construit un délégué qui appelle la méthode de l’objet référencé avec les arguments délégués.
Le constructeur (6) construit un délégué qui tente de résoudre la weak_ref référence forte.
Si elle réussit, elle appelle la méthode de l’objet avec les arguments délégués ; sinon, ça ne fait rien.
Le constructeur (7) construit un délégué qui tente de résoudre la weak_ref référence forte.
Si elle réussit, elle appelle l’lambda avec les arguments délégués ; sinon, ça ne fait rien.
Nécessite C++/WinRT version 2.0.240111.5.
Le constructeur (8) construit un délégué qui appelle la méthode de l’objet partagé avec les arguments délégués. Nécessite C++/WinRT version 2.0.240111.5.
Le constructeur (9) construit un délégué qui tente de résoudre le weak_ptr pointeur partagé.
Si elle réussit, elle appelle la méthode de l’objet partagé avec les arguments délégués ; sinon, ça ne fait rien.
Nécessite C++/WinRT version 2.0.240111.5.
Le constructeur (10) construit un délégué qui tente de résoudre le weak_ptr pointeur partagé.
Si elle réussit, elle appelle l’lambda avec les arguments délégués ; sinon, ça ne fait rien.
Nécessite C++/WinRT version 2.0.240111.5.
delegate ::operator() (opérateur d’appel de fonction)
Invokes the delegate represented by the delegate object with the provided arguments.
Syntax
void operator()(T const&... args) const