Estrutura ArgTraits
Suporta a infraestrutura WRL e não se destina a ser usado diretamente do seu código.
Sintaxe
template<typename TMemberFunction>
struct ArgTraits;
template<typename TDelegateInterface>
struct ArgTraits<HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)(void)>;
template<typename TDelegateInterface, typename TArg1>
struct ArgTraits<HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)(TArg1)>;
template<typename TDelegateInterface, typename TArg1, typename TArg2>
struct ArgTraits<
HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2)>;
template<
typename TDelegateInterface,
typename TArg1,
typename TArg2,
typename TArg3
>
struct ArgTraits<
HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)(TArg1, TArg2, TArg3)>;
template<
typename TDelegateInterface,
typename TArg1,
typename TArg2,
typename TArg3,
typename TArg4
>
struct ArgTraits<
HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)
(TArg1, TArg2, TArg3, TArg4)>;
template<
typename TDelegateInterface,
typename TArg1,
typename TArg2,
typename TArg3,
typename TArg4,
typename TArg5
>
struct ArgTraits<
HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)
(TArg1, TArg2, TArg3, TArg4, TArg5)>;
template<
typename TDelegateInterface,
typename TArg1,
typename TArg2,
typename TArg3,
typename TArg4,
typename TArg5,
typename TArg6
>
struct ArgTraits<
HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)
(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6)>;
template<
typename TDelegateInterface,
typename TArg1,
typename TArg2,
typename TArg3,
typename TArg4,
typename TArg5,
typename TArg6,
typename TArg7
>
struct ArgTraits<
HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)
(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7)>;
template<
typename TDelegateInterface,
typename TArg1,
typename TArg2,
typename TArg3,
typename TArg4,
typename TArg5,
typename TArg6,
typename TArg7,
typename TArg8
>
struct ArgTraits<
HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)
(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8)>;
template<
typename TDelegateInterface,
typename TArg1,
typename TArg2,
typename TArg3,
typename TArg4,
typename TArg5,
typename TArg6,
typename TArg7,
typename TArg8,
typename TArg9
>
struct ArgTraits<
HRESULT (STDMETHODCALLTYPE TDelegateInterface::*)
(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9)>;
Parâmetros
TMemberFunction
Parâmetro Typename de uma estrutura ArgTraits que não pode corresponder a nenhum método de assinatura Invoke
.
TDelegateInterface
Uma interface delegada.
TArg1
O tipo do primeiro argumento do método Invoke
.
TArg2
O tipo do segundo argumento do método Invoke
.
TArg3
O tipo do terceiro argumento do método Invoke
.
TArg4
O tipo do quarto argumento do método Invoke
.
TArg5
O tipo do quinto argumento do método Invoke
.
TArg6
O tipo do sexto argumento do método Invoke
.
TArg7
O tipo do sétimo argumento do método Invoke
.
TArg8
O tipo do oitavo argumento do método Invoke
.
TArg9
O tipo do nono argumento do método Invoke
.
Comentários
A estrutura ArgTraits
declara uma interface de delegado especificada e uma função de membro anônima que tem um número especificado de parâmetros.
Membros
Typedefs públicos
Nome | Descrição |
---|---|
Arg1Type |
O typedef de TArg1. |
Arg2Type |
O typedef de TArg2. |
Arg3Type |
O typedef de TArg3. |
Arg4Type |
O typedef de TArg4. |
Arg5Type |
O typedef de TArg5. |
Arg6Type |
O typedef de TArg6. |
Arg7Type |
O typedef de TArg7. |
Arg8Type |
O typedef de TArg8. |
Arg9Type |
O typedef de TArg9. |
Constantes públicas
Nome | Descrição |
---|---|
ArgTraits::args | Mantém a contagem do número de parâmetros no método Invoke de uma interface delegada. |
Hierarquia de herança
ArgTraits
Requisitos
Cabeçalho: event.h
Namespace: Microsoft::WRL::Details
ArgTraits::args
Suporta a infraestrutura WRL e não se destina a ser usado diretamente do seu código.
static const int args = -1;
Comentários
Mantém a contagem do número de parâmetros no método Invoke
de uma interface delegada. Quando args
é igual a -1, não pode haver correspondência para a assinatura do método Invoke
.