共用方式為


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
ArgTraits 結構的 Typename 參數,無法比對任何 Invoke 方法簽章。

TDelegateInterface
委派介面。

TArg1
方法第一個自變數的類型 Invoke

TArg2
方法第二個自變數的類型 Invoke

TArg3
方法的第三個 Invoke 自變數型別。

TArg4
方法的第四個自變數 Invoke 型別。

TArg5
方法第五個自變數的類型 Invoke

TArg6
方法的第六個自變數 Invoke 型別。

TArg7
方法的第七個 Invoke 自變數型別。

TArg8
方法第八個自變數的類型 Invoke

TArg9
方法第九個自變數的類型 Invoke

備註

結構 ArgTraits 會宣告指定的委派介面,以及具有指定參數數目的匿名成員函式。

成員

公用 Typedefs

名稱 描述
Arg1Type TArg1 的 typedef。
Arg2Type TArg2 的 typedef。
Arg3Type TArg3 的 typedef。
Arg4Type TArg4 的 typedef。
Arg5Type TArg5 的 typedef。
Arg6Type TArg6 的 typedef。
Arg7Type TArg7 的 typedef。
Arg8Type TArg8 的 typedef。
Arg9Type TArg9 的 typedef。

公用常數

名稱 描述
ArgTraits::args 在委派介面的方法上 Invoke 保留參數數目的計數。

繼承階層架構

ArgTraits

需求

標頭: event.h

命名空間: Microsoft::WRL::D etails

ArgTraits::args

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

static const int args = -1;

備註

在委派介面的方法上 Invoke 保留參數數目的計數。 當 等於 -1 時 args ,方法簽章並無相符 Invoke 專案。