Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Olyan típus, amellyel egyéni meghatalmazotttípust deklarálhat saját eseményeihez. delegate supports any number of parameters, and they are not limited to Windows Runtime types.
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. A forgatókönyv további részleteiért lásd a paraméteres meghatalmazottakat, az egyszerű jeleket és a projekten belüli visszahívásokat.
Az események kezelésével és a példakódokkal kapcsolatos további információkért lásd: Események kezelése meghatalmazottak használatával a C++/WinRT-ben.
Syntax
template <typename... T>
struct delegate : Windows::Foundation::IUnknown
Template parameters
typename... T Variadikus sablonparaméter-csomag, amely tartalmazza a delegált által a meghíváskor átadott paraméterek típusait.
Requirements
Minimálisan támogatott SDK: Windows SDK 10.0.17134.0-s verzió (Windows 10, 1803-as verzió)
Namespace: winrt
Header: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (included by default)
Constructors
| Constructor | Description |
|---|---|
| delegate::delegate constructor | Initializes a new instance of the delegate struct from the input data. |
Member operators
| Operator | Description |
|---|---|
| delegált::operátor() (függvényhívási operátor) | Invokes the delegate represented by the delegate object with the provided arguments. |
delegate::delegate constructor
Initializes a new instance of the delegate struct from the input data.
Syntax
delegate(std::nullptr_t = nullptr) noexcept; // (1)
template <typename L>
delegate(L lHandler); // (2)
template <typename F>
delegate(F* fHandler); // (3)
template <typename O, typename M>
delegate(O* object, M method); // (4)
template <typename O, typename M>
delegate(winrt::com_ptr<O>&& object, M method); // (5)
template <typename O, typename M>
delegate(winrt::weak_ref<O>&& object, M method); // (6)
template <typename O, typename M>
delegate(winrt::weak_ref<O>&& object, L lHandler); // (7)
template <typename O, typename M>
delegate(std::shared_ptr<O>&& object, M method); // (8)
template <typename O, typename M>
delegate(std::weak_ptr<O>&& object, M method); // (9)
template <typename O, typename M>
delegate(std::weak_ptr<O>&& object, L lHandler); // (10)
Template parameters
typename L Lambda típusú vagy általánosabb, bármely olyan típus, amely támogatja a függvényhívás szintaxisát, például egy std::function.
typename F Szabad függvénytípus.
typename O Objektumtípus.
typename M Mutató–tag típusú függvény.
Parameters
lHandler Egy lambda objektum, vagy általánosabban egy függvényhívási szintaxist támogató objektum, például egy std::function, amely kezeli az eseményt.
fHandler Egy mutató–szabad függvény, amely kezeli az eseményt.
object Egy objektum, amelynek egyik tagfüggvénye kezeli az eseményt.
A túlterheléstől függően ezt az objektumot egy nyers mutató vagy egy intelligens mutató jelölheti.
method Egy mutató–tag függvény, amely kezeli az eseményt.
Remarks
Az alapértelmezett konstruktor (1) egy üres meghatalmazottat hoz létre.
A konstruktor (2) létrehoz egy delegáltat, amely meghívja a lambdát a delegált argumentumokkal.
A konstruktor (3) egy delegáltat hoz létre, amely meghívja a függvényt a delegált argumentumokkal.
A konstruktor (4) egy meghatalmazottat hoz létre, amely meghívja a hegyes objektum metódusát a delegálási argumentumokkal.
A konstruktor (5) létrehoz egy meghatalmazottat, amely meghívja a hivatkozott objektum metódusát a delegált argumentumokkal.
A konstruktor (6) egy meghatalmazottat hoz létre, amely megpróbálja feloldani a weak_ref problémát egy erős hivatkozással.
Ha sikeres, meghívja az objektum metódusát a delegált argumentumokkal; ellenkező esetben semmit sem tesz.
A konstruktor (7) egy delegáltat hoz létre, amely megpróbálja feloldani a weak_ref problémát egy erős hivatkozással.
Ha sikeres, meghívja a lambdát a delegált argumentumokkal; ellenkező esetben semmit sem tesz.
A C++/WinRT 2.0.240111.5-ös verzióját igényli.
A konstruktor (8) létrehoz egy meghatalmazottat, amely meghívja a megosztott objektum metódusát a delegálási argumentumokkal. A C++/WinRT 2.0.240111.5-ös verzióját igényli.
A konstruktor (9) egy meghatalmazottat hoz létre, amely megkísérli feloldani a weak_ptr megosztott mutatót.
Ha sikeres, meghívja a megosztott objektum metódusát a delegált argumentumokkal; ellenkező esetben semmit sem tesz.
A C++/WinRT 2.0.240111.5-ös verzióját igényli.
A konstruktor (10) egy meghatalmazottat hoz létre, amely megkísérli feloldani a weak_ptr megosztott mutatót.
Ha sikeres, meghívja a lambdát a delegált argumentumokkal; ellenkező esetben semmit sem tesz.
A C++/WinRT 2.0.240111.5-ös verzióját igényli.
delegált::operátor() (függvényhívási operátor)
Invokes the delegate represented by the delegate object with the provided arguments.
Syntax
void operator()(T const&... args) const