IWeakEventListener Интерфейс

Определение

Предоставляет поддержку прослушивания событий для классов, которые ожидают получения событий с помощью шаблона WeakEvent и a WeakEventManager.

public interface class IWeakEventListener
public interface IWeakEventListener
type IWeakEventListener = interface
Public Interface IWeakEventListener
Производный

Комментарии

Диспетчер WeakEventManager перенаправит событие путем вызова ReceiveWeakEvent метода для классов, реализующих этот интерфейс, и которые были добавлены в качестве прослушивателей путем вызова WeakEventManager методов заранее.

Основная причина выполнения шаблона WeakEvent заключается в том, что источник событий имеет время существования объекта, которое потенциально не зависит от прослушивателей событий. Использование централизованного диспетчеризации событий позволяет обработчикам собирать мусор (или вручную очищать), даже если время существования исходного WeakEventManager объекта выходит за рамки прослушивателей. В отличие от этого, обычный синтаксис событий, используемый += или эквивалентный языком, приводит к тому, что потенциально подключенный источник будет содержать сильную ссылку на обработчики. Это позволяет прослушивателю ссылаться на мусор, собираемый своевременно.

Одна из распространенных ситуаций, когда связи между источниками и прослушивателями свидетельствуют об использовании этого шаблона, заключается в обработке событий обновления, поступающих из источников для привязки данных.

Шаблон WeakEvent можно использовать для прослушивания событий, которые являются внешними для приложения. Необходимо только определить WeakEventManager его, предоставить поведение ReceiveWeakEventпрослушивания и использовать WeakEventManager для присоединения ссылок обработчика, а не +=.

Методы

Имя Описание
ReceiveWeakEvent(Type, Object, EventArgs)

Получает события из централизованного диспетчера событий.

Применяется к

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