Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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
- winrt namespace
- C++/WinRT'de yazar etkinlikleri
- C++/WinRT'da temsilcileri kullanarak olayları işleme
- winrt::event yapısı şablonu