Aracılığıyla paylaş


winrt::d elegate yapısı şablonu (C++/WinRT)

Kendi olaylarınız için özel bir temsilci türü bildirmek için kullanabileceğiniz bir tür. 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. Bu senaryoyla ilgili daha fazla ayrıntı için bkz. Proje içindeki parametreli temsilciler, basit sinyaller ve geri çağırmalar.

Olayları işleme ve kod örnekleri hakkında daha fazla bilgi için bkz. C++/WinRT'de temsilcileri kullanarak olayları işleme.

Syntax

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

Template parameters

typename... T Temsilci çağrıldığında geçirilecek parametre türlerini içeren variadic şablon parametre paketi.

Requirements

Desteklenen en düşük SDK: Windows SDK sürüm 10.0.17134.0 (Windows 10, sürüm 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() (işlev çağrısı işleci) 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 LLambda türü veya daha genel olarak işlev çağrısı söz dizimlerini destekleyen herhangi bir tür, örneğin.std::function

typename F Ücretsiz işlev türü.

typename O Nesne türü.

typename M Üyeye işaretçi işlev türü.

Parameters

lHandler Lambda nesnesi veya daha genel olarak, olayı işleyen gibi işlev çağrısı söz dizimini destekleyen bir std::functionnesne.

fHandler Olayı işleyecek bir işaretçiden serbest işleve.

object Üye işlevlerinden biri olayı işleyecek olan bir nesne. Aşırı yüklemeye bağlı olarak, bu nesne bir ham işaretçi veya akıllı işaretçi ile temsil edilebilir.

method Olayı işleyebilen üyeye işaretçi işlevi.

Remarks

Varsayılan oluşturucu (1) boş bir temsilci oluşturur.

Oluşturucu (2), temsilci bağımsız değişkenleriyle lambda çağıran bir temsilci oluşturur.

Oluşturucu (3), işlevi temsilci bağımsız değişkenleriyle çağıran bir temsilci oluşturur.

Oluşturucu (4), temsilci bağımsız değişkenleriyle işaret edilen nesnenin yöntemini çağıran bir temsilci oluşturur.

Oluşturucu (5), başvurulan nesnenin yöntemini temsilci bağımsız değişkenleriyle çağıran bir temsilci oluşturur.

Oluşturucu (6), öğesini güçlü bir başvuruya çözümlemeye weak_ref çalışan bir temsilci oluşturur. Başarılı olursa nesnenin yöntemini temsilci bağımsız değişkenleriyle çağırır; aksi takdirde hiçbir şey yapmaz.

Oluşturucu (7), öğesini güçlü bir başvuruya çözümlemeye weak_ref çalışan bir temsilci oluşturur. Başarılı olursa, temsilci bağımsız değişkenleriyle lambda'yı çağırır; aksi takdirde hiçbir şey yapmaz. C++/WinRT sürüm 2.0.240111.5 gerektirir.

Oluşturucu (8), paylaşılan nesnenin yöntemini temsilci bağımsız değişkenleriyle çağıran bir temsilci oluşturur. C++/WinRT sürüm 2.0.240111.5 gerektirir.

Oluşturucu (9), öğesini paylaşılan bir işaretçiye çözümlemeye weak_ptr çalışan bir temsilci oluşturur. Başarılı olursa, temsilci bağımsız değişkenleriyle paylaşılan nesnenin yöntemini çağırır; aksi takdirde hiçbir şey yapmaz. C++/WinRT sürüm 2.0.240111.5 gerektirir.

Oluşturucu (10), öğesini paylaşılan bir işaretçiye çözümlemeye weak_ptr çalışan bir temsilci oluşturur. Başarılı olursa, temsilci bağımsız değişkenleriyle lambda'yı çağırır; aksi takdirde hiçbir şey yapmaz. C++/WinRT sürüm 2.0.240111.5 gerektirir.

delegate::operator() (işlev çağrısı işleci)

Invokes the delegate represented by the delegate object with the provided arguments.

Syntax

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

See also