Aracılığıyla paylaş


ArgTraits Yapısı

WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.

Sözdizimi

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

Parametreler

TMemberFunction
Hiçbir Invoke yöntem imzası ile eşleşemeyen bir ArgTraits yapısı için typename parametresi.

TDelegateInterface
Temsilci arabirimi.

TArg1
yönteminin ilk bağımsız değişkeninin Invoke türü.

TArg2
yönteminin ikinci bağımsız değişkeninin Invoke türü.

TArg3
Yönteminin üçüncü bağımsız değişkeninin Invoke türü.

TArg4
Yönteminin dördüncü bağımsız değişkeninin Invoke türü.

TArg5
Yönteminin beşinci bağımsız değişkeninin Invoke türü.

TArg6
Yönteminin altıncı bağımsız değişkeninin Invoke türü.

TArg7
yönteminin yedinci bağımsız değişkeninin Invoke türü.

TArg8
Yönteminin sekizinci bağımsız değişkeninin Invoke türü.

TArg9
yönteminin dokuzuncu bağımsız değişkeninin Invoke türü.

Açıklamalar

Yapı, ArgTraits belirtilen bir temsilci arabirimini ve belirtilen sayıda parametreye sahip anonim üye işlevini bildirir.

Üyeler

Genel Tür Tanımları

Veri Akışı Adı Açıklama
Arg1Type TArg1 için typedef.
Arg2Type TArg2 için typedef.
Arg3Type TArg3 için typedef.
Arg4Type TArg4 için typedef.
Arg5Type TArg5 için typedef.
Arg6Type TArg6 için typedef.
Arg7Type TArg7 için typedef.
Arg8Type TArg8 için typedef.
Arg9Type TArg9 için typedef.

Genel Sabitler

Veri Akışı Adı Açıklama
ArgTraits::args Temsilci arabiriminin yöntemindeki Invoke parametre sayısını tutar.

Devralma Hiyerarşisi

ArgTraits

Gereksinimler

Üst bilgi: event.h

Ad Alanı: Microsoft::WRL::D etails

ArgTraits::args

WRL altyapısını destekler ve doğrudan kodunuzdan kullanılmak üzere tasarlanmamıştır.

static const int args = -1;

Açıklamalar

Temsilci arabiriminin yöntemindeki Invoke parametre sayısını tutar. -1 değerine eşit olduğunda args , yöntem imzası için Invoke eşleşme olamaz.