Partager via


ArgTraits (structure)

Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.

Syntaxe

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)>;

Paramètres

TMemberFunction
Paramètre Typename pour une structure ArgTraits qui ne peut pas correspondre à une Invoke signature de méthode.

TDelegateInterface
Interface de délégué.

TArg1
Type du premier argument de la Invoke méthode.

TArg2
Type du deuxième argument de la Invoke méthode.

TArg3
Type du troisième argument de la Invoke méthode.

TArg4
Type du quatrième argument de la Invoke méthode.

TArg5
Type du cinquième argument de la Invoke méthode.

TArg6
Type du sixième argument de la Invoke méthode.

TArg7
Type du septième argument de la Invoke méthode.

TArg8
Type du huitième argument de la Invoke méthode.

TArg9
Type du neuvième argument de la Invoke méthode.

Notes

La ArgTraits structure déclare une interface déléguée spécifiée et une fonction membre anonyme qui a un nombre spécifié de paramètres.

Membres

Typedefs publics

Nom Description
Arg1Type Typedef pour TArg1.
Arg2Type Typedef pour TArg2.
Arg3Type Typedef pour TArg3.
Arg4Type Typedef pour TArg4.
Arg5Type Typedef pour TArg5.
Arg6Type Typedef pour TArg6.
Arg7Type Typedef pour TArg7.
Arg8Type Typedef pour TArg8.
Arg9Type Typedef pour TArg9.

Constantes publiques

Nom Description
ArgTraits ::args Conserve le nombre de paramètres sur la Invoke méthode d’une interface déléguée.

Hiérarchie d'héritage

ArgTraits

Spécifications

En-tête : event.h

Namespace : Microsoft ::WRL ::D etails

ArgTraits ::args

Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.

static const int args = -1;

Notes

Conserve le nombre de paramètres sur la Invoke méthode d’une interface déléguée. Lorsque args la valeur est égale à -1, il ne peut y avoir aucune correspondance pour la signature de méthode Invoke .