Поделиться через


Структура ArgTraits

WRL поддерживает инфраструктуру и не предназначен для использования непосредственно из программного кода.

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

Параметры

  • TMemberFunction
    Параметр Typename для структуры ArgTraits, которая может не соответствовать любой вызывающий подпись метода.

  • TDelegateInterface
    Интерфейс делегата.

  • TArg1
    Тип первого аргумента метода вызова.

  • TArg2
    Тип второго аргумента метода вызова.

  • TArg3
    Тип третьего аргумента метода вызова.

  • TArg4
    Тип четвертого аргумента метода вызова.

  • TArg5
    Тип пятого аргумента метода вызова.

  • TArg6
    Тип шестого аргумента метода вызова.

  • TArg7
    Тип седьмого аргумента метода вызова.

  • TArg8
    Тип восьмого аргумента метода вызова.

  • TArg9
    Тип девятого аргумента метода вызова.

Заметки

Структура ArgTraits объявляет указанный интерфейс делегата и анонимный функции-члена, имеющий указанное число параметров.

Члены

BR244857.collapse_all(ru-ru,VS.110).gifОткрытые определения типов

Имя

Описание

Arg1Type

Typedef для TArg1.

Arg2Type

Typedef для TArg2.

Arg3Type

Typedef для TArg3.

Arg4Type

Typedef для TArg4.

Arg5Type

Typedef для TArg5.

Arg6Type

Typedef для TArg6.

Arg7Type

Typedef для TArg7.

Arg8Type

Typedef для TArg8.

Arg9Type

Typedef для TArg9.

BR244857.collapse_all(ru-ru,VS.110).gifОткрытые константы

Имя

Описание

Константа ArgTraits::args

Содержит количество параметров в методе вызова интерфейса делегата.

Иерархия наследования

ArgTraits

Требования

заголовок: event.h

пространство имен: Microsoft::WRL::Details

См. также

Ссылки

Пространство имен Microsoft::WRL::Details