Поделиться через


Шаблон структуры winrt::delegate (C++/WinRT)

Тип, который можно использовать для объявления пользовательского типа делегата для собственных событий. делегат поддерживает любое количество параметров и не ограничивается среда выполнения Windows типами.

Тип делегата не имеет ABI (он не имеет интерфейса для использования в двоичных файлах приложения), поэтому его вариант использования заключается в создании и использовании события в одном проекте. Дополнительные сведения об этом сценарии см. в разделе Параметризованные делегаты, простые сигналы и обратные вызовы в проекте.

Дополнительные сведения об обработке событий и примерах кода см. в разделе "Обработка событий с помощью делегатов в C++/WinRT".

Синтаксис

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

Параметры шаблона

typename... T Пакет параметров шаблона variadic, содержащий типы параметров, передаваемых делегатом при вызове.

Требования

Минимальный поддерживаемый пакет SDK: пакет SDK Windows версии 10.0.17134.0 (Windows 10 версии 1803)

Пространство имен: winrt

Заголовок: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (включен по умолчанию)

Конструкторы

Конструктор Описание
Конструктор delegate::d elegate Инициализирует новый экземпляр структуры делегата из входных данных.

Операторы-члены

Оператор Описание
delegate::operator() (оператор вызова функции) Вызывает делегат, представленный объектом делегата с указанными аргументами.

Конструктор delegate::d elegate

Инициализирует новый экземпляр структуры делегата из входных данных.

Синтаксис

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);

Параметры шаблона

typename L Тип лямбда-функции.

typename F Тип свободной функции.

typename O Тип объекта.

typename M Тип функции указателя на член.

Параметры

lHandler Лямбда-функция, которая будет обрабатывать событие.

fHandler Функция с указателем на бесплатную, которая будет обрабатывать событие.

object Указатель на объект, одна из функций-членов которых будет обрабатывать событие.

method Функция указателя на член, которая будет обрабатывать событие.

delegate::operator() (оператор вызова функции)

Вызывает делегат, представленный объектом делегата с указанными аргументами.

Синтаксис

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

См. также раздел