Udostępnij przez


ArgTraits — Struktura

Obsługuje infrastrukturę biblioteki WRL i nie jest przeznaczona do użycia bezpośrednio z kodu.

Składnia

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

Parametry

TMemberFunction
Parametr typename dla struktury ArgTraits, która nie może być zgodna z żadnym Invoke podpisem metody.

TDelegateInterface
Interfejs delegata.

TArg1
Typ pierwszego argumentu Invoke metody.

TArg2
Typ drugiego argumentu Invoke metody.

TArg3
Typ trzeciego argumentu Invoke metody.

TArg4
Typ czwartego argumentu Invoke metody.

TArg5
Typ piątego argumentu Invoke metody.

TArg6
Typ szóstego argumentu Invoke metody.

TArg7
Typ siódmego argumentu Invoke metody.

TArg8
Typ ósmego argumentu Invoke metody.

TArg9
Typ dziewiątego argumentu Invoke metody.

Uwagi

Struktura ArgTraits deklaruje określony interfejs delegata i anonimową funkcję składową, która ma określoną liczbę parametrów.

Elementy członkowskie

Definicje typów publicznych

Nazwa/nazwisko opis
Arg1Type Typedef dla TArg1.
Arg2Type Typedef dla TArg2.
Arg3Type Definicja typu TArg3.
Arg4Type Definicja typu TArg4.
Arg5Type Definicja typu TArg5.
Arg6Type Definicja typedef dla TArg6.
Arg7Type Definicja typedef dla TArg7.
Arg8Type Definicja typu TArg8.
Arg9Type Definicja typedef dla TArg9.

Stałe publiczne

Nazwa/nazwisko opis
ArgTraits::args Zachowuje liczbę parametrów metody Invoke interfejsu delegata.

Hierarchia dziedziczenia

ArgTraits

Wymagania

Nagłówek: event.h

Przestrzeń nazw: Microsoft::WRL::D etails

ArgTraits::args

Obsługuje infrastrukturę biblioteki WRL i nie jest przeznaczona do użycia bezpośrednio z kodu.

static const int args = -1;

Uwagi

Zachowuje liczbę parametrów metody Invoke interfejsu delegata. Jeśli args równa się -1, nie może być zgodne z podpisem Invoke metody.