Compartilhar via


Modelo de struct winrt::event (C++/WinRT)

Um tipo que você pode usar para declarar e implementar um evento de um tipo delegado especificado. Os assinantes passam seus representantes de manipulação de eventos para um evento; o evento registra esses delegados em uma coleção; então, quando ele é gerado, o evento invoca seus representantes registrados, por sua vez, para que os assinantes possam lidar com o evento. Para obter mais informações sobre a criação de eventos e exemplos de código, consulte Eventos de autor em C++/WinRT.

Se você precisar de eventos internos para seu projeto e não se limitar a tipos de Windows Runtime, use eventwinrt<::d elegate>. Para obter mais informações, 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 Delegate>
struct event

Parâmetros de modelo

typename Delegate O tipo de delegado que pode se registrar para manipular o evento.

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)

Aliases de tipo de membro

Nome do alias Tipo
event::d elegate_type Um sinônimo para o parâmetro de typename Delegate modelo.

Construtores

Construtor Descrição
construtor event::event Inicializa uma nova instância do struct de evento .

Funções de membro

Função Descrição
função event::add Registra um delegado com o objeto de evento .
função event::remove Revoga o registro de um delegado do objeto de evento .

Operadores membros

Operador Descrição
event::operator() (operador de chamada de função) Invoca todos os representantes registrados do objeto de evento com os argumentos fornecidos.
event::operator bool Verifica se o objeto de evento tem representantes registrados nele.

construtor event::event

Inicializa uma nova instância do struct de evento .

Syntax

event();

função event::add

Registra um delegado com o objeto de evento .

Sintaxe

winrt::event_token add(Delegate const& delegate);

Parâmetros

delegate Um delegado a ser registrado com o objeto de evento .

Valor retornado

Um winrt::event_token que pode ser usado posteriormente para revogar o registro do delegado.

event::operator() (operador de chamada de função)

Invoca todos os representantes registrados do objeto de evento com os argumentos fornecidos.

Syntax

template<typename... Arg>
void operator()(Arg const&... args)

Parâmetros de modelo

typename... Arg Um pacote de parâmetros de modelo variadico que contém os tipos dos parâmetros que o delegado é passado quando é chamado.

Parâmetros

args Uma lista de argumentos variáveis que contém os argumentos que o delegado é passado quando é chamado.

event::operator bool

Verifica se o objeto de evento tem representantes registrados nele.

Sintaxe

explicit operator bool() const noexcept;

Valor retornado

true se o objeto de evento tiver representantes registrados, caso contrário false.

função event::remove

Revoga o registro de um delegado do objeto de evento .

Sintaxe

void remove(winrt::event_token const token);

Parâmetros

token Um winrt::event_token que identifica o delegado cujo registro será revogado.

Confira também