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
專案。