IWeakEventListener Интерфейс

Определение

Предоставляет поддержку прослушивания событий для классов, ожидающих получения событий через шаблон WeakEvent и WeakEventManager.Provides event listening support for classes that expect to receive events through the WeakEvent pattern and a WeakEventManager.

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

Комментарии

Диспетчер (Dispatcher) пересылает событие, ReceiveWeakEvent вызывая метод для классов, реализующих этот интерфейс, и которые были добавлены в качестве прослушивателей путем вызова WeakEventManager методов заранее. WeakEventManagerThe WeakEventManager (a dispatcher) forwards an event by calling the ReceiveWeakEvent method on classes that implement this interface, and that have been added as listeners by calling WeakEventManager methods beforehand.

Основная причина следующего шаблона WeakEvent — когда источник событий имеет время существования объекта, потенциально независимый от прослушивателей событий.The principal reason for following the WeakEvent pattern is when the event source has an object lifetime that is potentially independent of the event listeners. Использование центрального диспетчеризации WeakEventManager событий позволяет обработчикам прослушивателей собирать мусор (или удалять их вручную), даже если время существования исходного объекта выходит за пределы прослушивателей.Using the central event dispatching of a WeakEventManager enables the handlers for listeners to be garbage collected (or manually purged) even if the source object lifetime extends beyond the listeners. В отличие от этого, нормальное подключение += события с использованием или эквивалентным синтаксисом событий конкретного языка приводит к тому, что потенциально подключенный источник удерживает строгую ссылку на обработчики.By contrast, a normal event hookup using += or equivalent language-specific event syntax causes the potentially still-connected source to hold a strong reference to the handlers. Это позволяет своевременно собирать ссылки на прослушиватели.This keeps the listener references from being garbage collected in a timely fashion.

Одна из распространенных ситуаций, когда отношения между источниками и прослушивателями предполагает использование этого шаблона, — обработка событий обновления, поступающих из источников для привязок данных.One common situation where the relationships between sources and listeners suggests the use of this pattern is the handling of update events coming from sources for data bindings.

Шаблон WeakEvent можно использовать для прослушивания событий, которые являются внешними для приложения.You can use the WeakEvent pattern to listen for events that are external to your application. WeakEventManager Для него нужно определить только для него, предоставить поведение прослушивания в ReceiveWeakEventи использовать WeakEventManager для подключения к обработчику ссылок, а не +=.You only need to define a WeakEventManager for it, provide listening behavior in ReceiveWeakEvent, and use the WeakEventManager to attach the handler references rather than +=.

Методы

ReceiveWeakEvent(Type, Object, EventArgs)

Получает события от централизованного диспетчера событий.Receives events from the centralized event manager.

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

Дополнительно