winrt::d 대리자 struct 템플릿 (C++/winrt)winrt::delegate struct template (C++/WinRT)

사용자 고유의 이벤트에 대해 사용자 지정 대리자 형식을 선언 하는 데 사용할 수 있는 형식입니다.A type that you can use to declare a custom delegate type for your own events. delegate 는 원하는 수의 매개 변수를 지원 하며 Windows 런타임 형식으로 제한 되지 않습니다.delegate supports any number of parameters, and they are not limited to Windows Runtime types.

대리자 형식에는 ABI (응용 프로그램 이진 파일에서 사용할 인터페이스가 없음)가 없으므로 해당 사용 사례는 동일한 프로젝트 내에서 이벤트를 작성 하 고 사용 하는 경우입니다.The delegate type has no ABI (it has no interface for use across application binaries), so its use case is when you're both authoring and consuming an event within the same project. 해당 시나리오에 대 한 자세한 내용은 프로젝트 내의 매개 변수가 있는 대리자, 단순 신호 및 콜백을 참조 하십시오.For more details of that scenario, see Parameterized delegates, simple signals, and callbacks within a project.

이벤트 처리 및 코드 예제에 대 한 자세한 내용은 /Winrt에서 C++대리자를 사용 하 여 이벤트 처리를 참조 하세요.For more info about handling events, and code examples, see Handle events by using delegates in C++/WinRT.

구문Syntax

template <typename... T>
struct delegate : Windows::Foundation::IUnknown

템플릿 매개 변수Template parameters

대리자가 호출 될 때 전달 되는 매개 변수의 형식이 포함 된 variadic 템플릿 매개 변수 팩을 typename... T 합니다.typename... T A variadic template parameter pack containing the types of the parameters that the delegate is passed when it's called.

요구 사항Requirements

지원 되는 최소 SDK: Windows SDK 버전 10.0.17134.0 (Windows 10, 버전 1803)Minimum supported SDK: Windows SDK version 10.0.17134.0 (Windows 10, version 1803)

네임 스페이스: winrtNamespace: winrt

헤더 % windowssdkdir% 포함<Windowssdkdir > \cppwinrt\winrt\base.h (기본적으로 포함 됨)Header %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (included by default)

생성자Constructors

생성자Constructor 설명Description
delegate::d 대리자 생성자delegate::delegate constructor 입력 데이터에서 대리자 구조체의 새 인스턴스를 초기화 합니다.Initializes a new instance of the delegate struct from the input data.

멤버 연산자Member operators

연산자Operator 설명Description
delegate:: operator () (함수 호출 연산자)delegate::operator() (function call operator) 제공 된 인수를 사용 하 여 대리자 개체가 나타내는 대리자를 호출 합니다.Invokes the delegate represented by the delegate object with the provided arguments.

delegate::d 대리자 생성자delegate::delegate constructor

입력 데이터에서 대리자 구조체의 새 인스턴스를 초기화 합니다.Initializes a new instance of the delegate struct from the input data.

구문Syntax

delegate(std::nullptr_t = nullptr) noexcept;

template <typename L>
delegate(L lHandler);

template <typename F>
delegate(F* fHandler);

template <typename O, typename M>
delegate(O* object, M method);

템플릿 매개 변수Template parameters

람다 함수 형식을 typename L 합니다.typename L A lambda function type.

사용 가능한 함수 형식을 typename F 합니다.typename F A free function type.

개체 유형을 typename O 합니다.typename O An object type.

멤버 포인터 함수 형식 typename M 합니다.typename M A pointer-to-member-function type.

매개 변수Parameters

이벤트를 처리 하는 람다 함수를 lHandler 합니다.lHandler A lambda function, which will handle the event.

이벤트를 처리 하는 사용 가능한 포인터 함수를 fHandler 합니다.fHandler A pointer-to-free-function, which will handle the event.

개체에 대 한 포인터를 object 해당 멤버 함수에서 이벤트를 처리 하는 중 하나입니다.object A pointer to an object, one of whose member functions will handle the event.

이벤트를 처리 하는 멤버 포인터 함수를 method 합니다.method A pointer-to-member-function, which will handle the event.

delegate:: operator () (함수 호출 연산자)delegate::operator() (function call operator)

제공 된 인수를 사용 하 여 대리자 개체가 나타내는 대리자를 호출 합니다.Invokes the delegate represented by the delegate object with the provided arguments.

구문Syntax

void operator()(T const&... args) const

참고 항목See also