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.