Compartilhar via


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

Confira também