ArgTraits (estructura)
Admite la infraestructura WRL y no está diseñada para usarse directamente desde el código.
Sintaxis
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 para una estructura ArgTraits que no puede coincidir con ninguna firma de método Invoke
.
TDelegateInterface
Interfaz de delegado.
TArg1
Tipo del primer argumento del método Invoke
.
TArg2
Tipo del segundo argumento del método Invoke
.
TArg3
Tipo del tercer argumento del método Invoke
.
TArg4
Tipo del cuarto argumento del método Invoke
.
TArg5
Tipo del quinto argumento del método Invoke
.
TArg6
Tipo del sexto argumento del método Invoke
.
TArg7
Tipo del séptimo argumento del método Invoke
.
TArg8
Tipo del octavo argumento del método Invoke
.
TArg9
Tipo del noveno argumento del método Invoke
.
Comentarios
La estructura ArgTraits
declara una interfaz de delegado especificada y una función miembro anónima que tiene un número especificado de parámetros.
Miembros
Definiciones de tipos públicas
Nombre | Descripción |
---|---|
Arg1Type |
Definición de tipo para TArg1. |
Arg2Type |
Definición de tipo para TArg2. |
Arg3Type |
Definición de tipo para TArg3. |
Arg4Type |
Definición de tipo para TArg4. |
Arg5Type |
Definición de tipo para TArg5. |
Arg6Type |
Definición de tipo para TArg6. |
Arg7Type |
Definición de tipo para TArg7. |
Arg8Type |
Definición de tipo para TArg8. |
Arg9Type |
Definición de tipo para TArg9. |
Constantes públicas
Nombre | Descripción |
---|---|
ArgTraits::args | Mantiene el recuento del número de parámetros en el método Invoke de una interfaz de delegado. |
Jerarquía de herencia
ArgTraits
Requisitos
Encabezado: event.h
Espacio de nombres:Microsoft::WRL::Details
ArgTraits::args
Admite la infraestructura WRL y no está diseñada para usarse directamente desde el código.
static const int args = -1;
Comentarios
Mantiene el recuento del número de parámetros en el método Invoke
de una interfaz de delegado. Cuando args
es igual a -1, no puede haber ninguna coincidencia para la firma del método Invoke
.