Condividi tramite


IWeakEventListener Interfaccia

Definizione

Fornisce supporto per l'ascolto di eventi alle classi in attesa di ricevere eventi tramite il modello WeakEvent e WeakEventManager.

public interface class IWeakEventListener
public interface IWeakEventListener
type IWeakEventListener = interface
Public Interface IWeakEventListener
Derivato

Commenti

( WeakEventManager dispatcher) inoltra un evento chiamando il ReceiveWeakEvent metodo sulle classi che implementano questa interfaccia e che sono stati aggiunti come listener chiamando WeakEventManager in anticipo i metodi.

Il motivo principale per cui segue il modello WeakEvent è quando l'origine evento ha una durata dell'oggetto potenzialmente indipendente dai listener di eventi. L'uso dell'invio centrale di un WeakEventManager evento consente ai gestori per i listener di essere sottoposto a Garbage Collection (o ripulito manualmente) anche se la durata dell'oggetto di origine si estende oltre i listener. Al contrario, un normale hookup di eventi tramite += o una sintassi di evento specifica del linguaggio equivalente fa sì che l'origine potenzialmente connessa contenga un riferimento sicuro ai gestori. In questo modo i riferimenti del listener vengono sottoposti a Garbage Collection in modo tempestivo.

Una situazione comune in cui le relazioni tra origini e listener suggeriscono l'uso di questo modello è la gestione degli eventi di aggiornamento provenienti da origini per i data binding.

È possibile usare il modello WeakEvent per restare in ascolto degli eventi esterni all'applicazione. È sufficiente definire un per esso, fornire il WeakEventManager comportamento di ascolto in ReceiveWeakEvente usare per WeakEventManager allegare i riferimenti al gestore anziché +=.

Metodi

ReceiveWeakEvent(Type, Object, EventArgs)

Riceve gli eventi dal gestore degli eventi centralizzato.

Si applica a

Vedi anche