Condividi tramite


WeakEventManager Classe

Definizione

Fornisce una classe base per la gestione degli eventi usata nel modello di eventi deboli. Il gestore aggiunge e rimuove listener per eventi (o callback) che utilizzano 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 degli eventi. L'uso della funzionalità di invio eventi centrale di un WeakEventManager consente ai gestori del listener di essere garbage collection anche se l'oggetto di origine persiste. Al contrario, un normale hookup di eventi usando l'operatore causa l'origine += potenzialmente disconnessa per contenere un riferimento ai listener. Ciò impedisce al ricevitore di essere 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 da 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 personalizzato WeakEventManager, vedere Modelli di evento deboli.

Costruttori

WeakEventManager()

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

Proprietà

Dispatcher

Ottiene l'oggetto Dispatcher associato a DispatcherObject.

(Ereditato da DispatcherObject)
Item[Object]

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

ReadLock

Imposta un blocco di lettura nella tabella di dati sottostanti e restituisce IDisposable.

WriteLock

Imposta un blocco di scrittura nella tabella di dati sottostanti e restituisce IDisposable.

Metodi

CheckAccess()

Determina se il thread chiamante ha accesso a DispatcherObject.

(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 contenuto nell'elenco fornito.

Equals(Object)

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

(Ereditato da Object)
GetCurrentManager(Type)

Restituisce l'implementazione di WeakEventManager utilizzata per il tipo fornito.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
NewListenerList()

Restituisce un nuovo oggetto per contenere i listener per 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 precedentemente aggiunto dall'origine fornita.

Purge(Object, Object, Boolean)

Rimuove voci di listener inattivi dall'elenco di dati per l'origine fornita. Restituisce true se alcune voci sono state effettivamente rimosse dall'elenco.

Remove(Object)

Rimuove tutti i listener per l'origine specificata.

ScheduleCleanup()

Richiede l'esecuzione, in un thread con priorità inferiore, della cancellazione di voci inutilizzate contenute nell'elenco di listener sottostante.

SetCurrentManager(Type, WeakEventManager)

Imposta la gestione corrente per il tipo di gestione specificata.

StartListening(Object)

Quando è sottoposto a override in una classe derivata, avvia l'attesa dell'evento gestito. Dopo la prima chiamata al metodo StartListening(Object), la gestione deve restare nello stato di chiamata a DeliverEvent(Object, EventArgs) o a DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) ogni volta che viene gestito l'evento pertinente proveniente dall'origine fornita.

StopListening(Object)

Quando è sottoposto a override in una classe derivata, interrompe l'attesa dell'evento gestito nell'origine fornita.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
VerifyAccess()

Impone che il thread chiamante abbia accesso a DispatcherObject.

(Ereditato da DispatcherObject)

Si applica a

Vedi anche