Sdílet prostřednictvím


IWeakEventListener Rozhraní

Definice

Poskytuje podporu naslouchání událostí pro třídy, které očekávají příjem událostí prostřednictvím modelu WeakEvent a WeakEventManager.

public interface class IWeakEventListener
public interface IWeakEventListener
type IWeakEventListener = interface
Public Interface IWeakEventListener
Odvozené

Poznámky

WeakEventManager (dispečer) předává událost voláním ReceiveWeakEvent metody na třídy, které implementují toto rozhraní a které byly přidány jako naslouchací procesy voláním WeakEventManager metod předem.

Hlavním důvodem pro sledování vzoru WeakEvent je, když má zdroj události životnost objektu, který je potenciálně nezávislý na naslouchacích procesů událostí. Použití centrálního odesílání událostí objektu WeakEventManager umožňuje, aby obslužné rutiny pro naslouchací procesy byly uvolněny z paměti (nebo ručně vyprázdněny), a to i v případě, že životnost zdrojového objektu přesahuje hranice naslouchacích procesů. Naproti tomu normální připojení událostí pomocí += nebo ekvivalentní syntaxe událostí specifické pro jazyk způsobí, že potenciálně stále připojený zdroj bude obsahovat silný odkaz na obslužné rutiny. Díky tomu nebudou odkazy na naslouchací proces včas uvolněny z paměti.

Jednou z běžných situací, kdy vztahy mezi zdroji a naslouchacími procesy naznačují použití tohoto vzoru, je zpracování událostí aktualizace pocházejících ze zdrojů pro datové vazby.

Model WeakEvent můžete použít k naslouchání událostem, které jsou pro vaši aplikaci externí. Stačí pro něj definovat pouze objekt WeakEventManager , poskytnout chování při naslouchání v ReceiveWeakEventa použít WeakEventManager k připojení odkazů na obslužnou rutinu místo +=.

Metody

ReceiveWeakEvent(Type, Object, EventArgs)

Přijímá události z centralizovaného správce událostí.

Platí pro

Viz také