Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Tipo che è possibile usare per dichiarare un tipo delegato personalizzato per gli eventi personalizzati. 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. Per altri dettagli su questo scenario, vedere Delegati con parametri, segnali semplici e callback all'interno di un progetto.
Per altre info sulla gestione degli eventi e sugli esempi di codice, vedi Gestire gli eventi usando delegati in C++/WinRT.
Syntax
template <typename... T>
struct delegate : Windows::Foundation::IUnknown
Template parameters
typename... T Pacchetto di parametri di modello variadic contenente i tipi dei parametri passati dal delegato quando viene chiamato.
Requirements
SDK minimo supportato: Windows SDK versione 10.0.17134.0 (Windows 10, versione 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() (operatore di chiamata di funzione) | 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 LTipo lambda, o più in genere, qualsiasi tipo che supporta la sintassi delle chiamate di funzione, ad esempio .std::function
typename F Tipo di funzione libero.
typename O Tipo di oggetto.
typename M Tipo di funzione da puntatore a membro.
Parameters
lHandler Oggetto lambda, o più in genere, un oggetto che supporta la sintassi delle chiamate di funzione, ad esempio , std::functionche gestirà l'evento.
fHandler Puntatore a funzione libera, che gestirà l'evento.
object Oggetto, uno dei cui funzioni membro gestirà l'evento.
A seconda dell'overload, questo oggetto può essere rappresentato da un puntatore non elaborato o da un puntatore intelligente.
method Puntatore a funzione membro, che gestirà l'evento.
Remarks
Il costruttore predefinito (1) costruisce un delegato vuoto.
Il costruttore (2) costruisce un delegato che chiama l'espressione lambda con gli argomenti del delegato.
Il costruttore (3) costruisce un delegato che chiama la funzione con gli argomenti del delegato.
Il costruttore (4) costruisce un delegato che chiama il metodo dell'oggetto puntato con gli argomenti delegati.
Il costruttore (5) costruisce un delegato che chiama il metodo dell'oggetto a cui si fa riferimento con gli argomenti delegati.
Il costruttore (6) costruisce un delegato che tenta di risolvere l'oggetto weak_ref in un riferimento sicuro.
In caso di esito positivo, chiama il metodo dell'oggetto con gli argomenti delegati; in caso contrario, non fa nulla.
Il costruttore (7) costruisce un delegato che tenta di risolvere l'oggetto weak_ref in un riferimento sicuro.
In caso di esito positivo, chiama l'espressione lambda con gli argomenti delegati; in caso contrario, non fa nulla.
Richiede C++/WinRT versione 2.0.240111.5.
Il costruttore (8) costruisce un delegato che chiama il metodo dell'oggetto condiviso con gli argomenti delegati. Richiede C++/WinRT versione 2.0.240111.5.
Il costruttore (9) costruisce un delegato che tenta di risolvere l'oggetto weak_ptr in un puntatore condiviso.
In caso di esito positivo, chiama il metodo dell'oggetto condiviso con gli argomenti delegati; in caso contrario, non fa nulla.
Richiede C++/WinRT versione 2.0.240111.5.
Il costruttore (10) costruisce un delegato che tenta di risolvere l'oggetto weak_ptr in un puntatore condiviso.
In caso di esito positivo, chiama l'espressione lambda con gli argomenti delegati; in caso contrario, non fa nulla.
Richiede C++/WinRT versione 2.0.240111.5.
delegate::operator() (operatore di chiamata di funzione)
Invokes the delegate represented by the delegate object with the provided arguments.
Syntax
void operator()(T const&... args) const