WeakEventManager Classe

Definizione

Fornisce una classe di base per la gestione eventi usata nel modello di evento debole. Il gestore aggiunge e rimuove i listener per gli eventi (o i callback) che usano anche il modello.

public ref class WeakEventManager abstract : System::Windows::Threading::DispatcherObject
public abstract class WeakEventManager : System.Windows.Threading.DispatcherObject
type WeakEventManager = class
    inherit DispatcherObject
Public MustInherit Class WeakEventManager
Inherits DispatcherObject
Ereditarietà
WeakEventManager
Derivato

Commenti

In genere si usa il modello di evento debole quando l'origine evento ha una durata dell'oggetto indipendente dai listener di eventi. L'uso della funzionalità di invio eventi centrale di un WeakEventManager consente ai gestori del listener di essere sottoposto a Garbage Collection anche se l'oggetto di origine persiste. Al contrario, un normale hookup di eventi che usa l'operatore fa sì che l'origine += potenzialmente disconnessa contenga un riferimento ai listener. Ciò impedisce al ricevitore di essere sottoposto a Garbage Collection in modo tempestivo.

Una situazione comune in cui le relazioni di durata tra origini e listener devono usare il modello di evento debole è la gestione degli eventi di aggiornamento provenienti dai data binding.

Il modello di evento debole può essere usato anche per i callback e gli eventi regolari.

Note per gli implementatori

Per un esempio di un oggetto personalizzato WeakEventManager, vedere Modelli di eventi deboli.

Costruttori

Nome Descrizione
WeakEventManager()

Inizializza i valori della classe di base quando viene utilizzato come inizializzatore dal costruttore di una classe derivata.

Proprietà

Nome Descrizione
Dispatcher

Ottiene l'oggetto DispatcherDispatcherObject a cui è associato.

(Ereditato da DispatcherObject)
Item[Object]

Ottiene o imposta i dati archiviati per l'origine specificata.

ReadLock

Stabilisce un blocco di lettura sulla tabella dati sottostante e restituisce un oggetto IDisposable.

WriteLock

Stabilisce un blocco di scrittura nella tabella dati sottostante e restituisce un oggetto IDisposable.

Metodi

Nome Descrizione
CheckAccess()

Determina se il thread chiamante ha accesso a questo DispatcherObjectoggetto .

(Ereditato da DispatcherObject)
DeliverEvent(Object, EventArgs)

Recapita l'evento gestito a ogni listener.

DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList)

Recapita l'evento gestito a ogni listener nell'elenco fornito.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetCurrentManager(Type)

Restituisce l'implementazione WeakEventManager utilizzata per il tipo specificato.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
NewListenerList()

Restituisce un nuovo oggetto per contenere listener a un evento.

ProtectedAddHandler(Object, Delegate)

Aggiunge il delegato specificato come gestore eventi dell'origine specificata.

ProtectedAddListener(Object, IWeakEventListener)

Aggiunge il listener fornito all'origine fornita per l'evento gestito.

ProtectedRemoveHandler(Object, Delegate)

Rimuove il gestore aggiunto in precedenza dall'origine specificata.

ProtectedRemoveListener(Object, IWeakEventListener)

Rimuove un listener aggiunto in precedenza dall'origine fornita.

Purge(Object, Object, Boolean)

Rimuove le voci del listener inattivo dall'elenco di dati per l'origine specificata. Restituisce true se alcune voci sono state effettivamente rimosse dall'elenco.

Remove(Object)

Rimuove tutti i listener per l'origine specificata.

ScheduleCleanup()

Richiede l'eliminazione di voci inutilizzate nell'elenco di listener sottostanti su un thread con priorità inferiore.

SetCurrentManager(Type, WeakEventManager)

Imposta il gestore corrente per il tipo di gestore specificato.

StartListening(Object)

Quando sottoposto a override in una classe derivata, avvia l'ascolto dell'evento gestito. Dopo che il StartListening(Object) metodo viene chiamato per la prima volta, il gestore deve trovarsi nello stato di chiamata DeliverEvent(Object, EventArgs) o DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) ogni volta che viene gestito l'evento pertinente dall'origine specificata.

StopListening(Object)

Quando sottoposto a override in una classe derivata, interrompe l'ascolto sull'origine specificata per l'evento gestito.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
VerifyAccess()

Impone che il thread chiamante abbia accesso a questo DispatcherObjectoggetto .

(Ereditato da DispatcherObject)

Si applica a

Vedi anche