Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een type dat u kunt gebruiken om een aangepast type gedelegeerde voor uw eigen gebeurtenissen te declareren. 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. Zie Geparameteriseerde gemachtigden, eenvoudige signalen en callbacks binnen een project voor meer informatie over dat scenario.
Zie Gebeurtenissen afhandelen met behulp van gedelegeerden in C++/WinRT voor meer informatie over het verwerken van gebeurtenissen en codevoorbeelden.
Syntax
template <typename... T>
struct delegate : Windows::Foundation::IUnknown
Template parameters
typename... T Een variantisch sjabloonparameterpakket met de typen parameters die de gedelegeerde doorgeeft wanneer deze wordt aangeroepen.
Requirements
Minimaal ondersteunde SDK: Windows SDK versie 10.0.17134.0 (Windows 10, versie 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() (operator voor functieoproep) | 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 Een lambda-type, of meer algemeen, elk type dat de syntaxis van de functieoproep ondersteunt, zoals een std::function.
typename F Een gratis functietype.
typename O Een objecttype.
typename M Een aanwijzer-naar-lid-functietype.
Parameters
lHandler Een lambda-object, of meer algemeen, een object dat syntaxis van functieaanroepen ondersteunt, zoals een std::function, die de gebeurtenis afhandelt.
fHandler Een aanwijzer-naar-vrije-functie, die de gebeurtenis afhandelt.
object Een object waarvan een van de lidfuncties de gebeurtenis afhandelt.
Afhankelijk van de overbelasting kan dit object worden vertegenwoordigd door een onbewerkte aanwijzer of een slimme aanwijzer.
method Een aanwijzer-naar-lid-functie, die de gebeurtenis afhandelt.
Remarks
Met de standaardconstructor (1) wordt een lege gemachtigde samengesteld.
Constructor (2) bouwt een gemachtigde die de lambda aanroept met de argumenten van de gemachtigde.
Constructor (3) bouwt een gemachtigde die de functie aanroept met de argumenten voor de gedelegeerde.
Constructor (4) bouwt een gemachtigde die de methode van het puntige object aanroept met de argumenten van de gedelegeerde.
Constructor (5) maakt een gemachtigde die de methode van het object waarnaar wordt verwezen aanroept met de argumenten voor de gedelegeerde.
Constructor (6) bouwt een gedelegeerde die probeert de weak_ref naar een sterke verwijzing op te lossen.
Als dit lukt, roept het de methode van het object aan met de argumenten voor gedelegeerden; anders doet het niets.
Constructor (7) bouwt een gemachtigde die probeert de weak_ref naar een sterke verwijzing op te lossen.
Als dit lukt, roept deze de lambda aan met de argumenten van de gemachtigde; anders doet het niets.
Vereist C++/WinRT versie 2.0.240111.5.
Constructor (8) maakt een gemachtigde die de methode van het gedeelde object aanroept met de argumenten voor de gedelegeerde. Vereist C++/WinRT versie 2.0.240111.5.
Constructor (9) bouwt een gemachtigde die probeert de weak_ptr naar een gedeelde aanwijzer op te lossen.
Als dit lukt, roept het de methode van het gedeelde object aan met de argumenten voor gedelegeerden; anders doet het niets.
Vereist C++/WinRT versie 2.0.240111.5.
Constructor (10) bouwt een gemachtigde die probeert de weak_ptr om te lossen naar een gedeelde aanwijzer.
Als dit lukt, roept deze de lambda aan met de argumenten van de gemachtigde; anders doet het niets.
Vereist C++/WinRT versie 2.0.240111.5.
delegate::operator() (operator voor functieoproep)
Invokes the delegate represented by the delegate object with the provided arguments.
Syntax
void operator()(T const&... args) const