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.