Modelo de struct winrt::delegate (C++/WinRT)
Um tipo que você pode usar para declarar um tipo de delegado personalizado para seus próprios eventos. O delegado dá suporte a qualquer número de parâmetros e eles não estão limitados a tipos de Windows Runtime.
O tipo delegado não tem ABI (não tem interface para uso entre binários de aplicativo), portanto, seu caso de uso é quando você está criando e consumindo um evento dentro do mesmo projeto. Para obter mais detalhes desse cenário, consulte delegados parametrizados, sinais simples e retornos de chamada em um projeto.
Para obter mais informações sobre como lidar com eventos e exemplos de código, consulte Manipular eventos usando delegados em C++/WinRT.
Syntax
template <typename... T>
struct delegate : Windows::Foundation::IUnknown
Parâmetros de modelo
typename... T
Um pacote de parâmetros de modelo variadico que contém os tipos dos parâmetros que o delegado é passado quando é chamado.
Requisitos
SDK mínimo com suporte: Windows SDK versão 10.0.17134.0 (Windows 10, versão 1803)
Namespace: winrt
Cabeçalho: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (incluído por padrão)
Construtores
Construtor | Descrição |
---|---|
construtor delegate::d elegate | Inicializa uma nova instância do struct delegado dos dados de entrada. |
Operadores membros
Operador | Descrição |
---|---|
delegate::operator() (operador de chamada de função) | Invoca o delegado representado pelo objeto delegado com os argumentos fornecidos. |
construtor delegate::d elegate
Inicializa uma nova instância do struct delegado dos dados de entrada.
Syntax
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);
Parâmetros de modelo
typename L
Um tipo de função lambda.
typename F
Um tipo de função livre.
typename O
Um tipo de objeto.
typename M
Um tipo de função de ponteiro para membro.
Parâmetros
lHandler
Uma função lambda, que manipulará o evento.
fHandler
Uma função de ponteiro para livre, que manipulará o evento.
object
Um ponteiro para um objeto, um dos quais as funções de membro manipularão o evento.
method
Uma função de ponteiro para membro, que manipulará o evento.
delegate::operator() (operador de chamada de função)
Invoca o delegado representado pelo objeto delegado com os argumentos fornecidos.
Sintaxe
void operator()(T const&... args) const