Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Typ, který můžete použít k deklaraci vlastního typu delegáta pro vlastní události. 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. Další podrobnosti o tomto scénáři najdete v tématu Parametrizované delegáty, jednoduché signály a zpětná volání v rámci projektu.
Další informace o zpracování událostí a příkladů kódu najdete v tématu Zpracování událostí pomocí delegátů v jazyce C++/WinRT.
Syntax
template <typename... T>
struct delegate : Windows::Foundation::IUnknown
Template parameters
typename... T Sada parametrů šablony variadic obsahující typy parametrů, které delegát předává při jeho zavolání.
Requirements
Minimální podporovaná sada SDK: Windows SDK verze 10.0.17134.0 (Windows 10, verze 1803)
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 |
|---|---|
| delegate::operator() (operátor volání funkce) | 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 Typ lambda nebo obecně jakýkoli typ, který podporuje syntaxi volání funkce, například std::function.
typename F Volný typ funkce.
typename O Typ objektu.
typename M Typ funkce ukazatele na člena.
Parameters
lHandler Objekt lambda nebo obecně objekt, který podporuje syntaxi volání funkce, jako std::functionje například , který bude zpracovávat událost.
fHandler Funkce ukazatele na volno, která bude zpracovávat událost.
object Objekt, jehož členské funkce budou zpracovávat událost.
V závislosti na přetížení může být tento objekt reprezentován nezpracovaným ukazatelem nebo inteligentním ukazatelem.
method Ukazatel na členovou funkci, která bude zpracovávat událost.
Remarks
Výchozí konstruktor (1) vytvoří prázdný delegát.
Konstruktor (2) vytvoří delegáta, který volá lambda s argumenty delegáta.
Konstruktor (3) vytvoří delegáta, který volá funkci s argumenty delegáta.
Konstruktor (4) vytvoří delegáta, který volá metodu odkazování na objekt s argumenty delegáta.
Konstruktor (5) vytvoří delegáta, který volá metodu odkazovaného objektu s argumenty delegáta.
Konstruktor (6) vytvoří delegáta, který se pokusí přeložit weak_ref na silný odkaz.
V případě úspěchu pak volá metodu objektu s argumenty delegáta; jinak to nic nedělá.
Konstruktor (7) vytvoří delegáta, který se pokusí přeložit weak_ref na silný odkaz.
V případě úspěchu volá lambda s argumenty delegáta; jinak to nic nedělá.
Vyžaduje C++/WinRT verze 2.0.240111.5.
Konstruktor (8) vytvoří delegáta, který volá metodu sdíleného objektu s argumenty delegáta. Vyžaduje C++/WinRT verze 2.0.240111.5.
Konstruktor (9) vytvoří delegáta, který se pokusí přeložit na weak_ptr sdílený ukazatel.
V případě úspěchu pak volá metodu sdíleného objektu s argumenty delegáta; jinak to nic nedělá.
Vyžaduje C++/WinRT verze 2.0.240111.5.
Konstruktor (10) vytvoří delegáta, který se pokusí přeložit na weak_ptr sdílený ukazatel.
V případě úspěchu volá lambda s argumenty delegáta; jinak to nic nedělá.
Vyžaduje C++/WinRT verze 2.0.240111.5.
delegate::operator() (operátor volání funkce)
Invokes the delegate represented by the delegate object with the provided arguments.
Syntax
void operator()(T const&... args) const