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
메서드 시그니처와 일치 Invoke
시킬 수 없는 ArgTraits 구조체의 Typename 매개 변수입니다.
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
일치할 수 없습니다.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기