WeakEventManager WeakEventManager WeakEventManager WeakEventManager Class

Definizione

Fornisce una classe base per la gestione degli eventi usata nel modello di eventi deboli.Provides a base class for the event manager that is used in the weak event pattern. Il gestore aggiunge e rimuove listener per eventi (o callback) che utilizzano il modello.The manager adds and removes listeners for events (or callbacks) that also use the pattern.

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à
WeakEventManagerWeakEventManagerWeakEventManagerWeakEventManager
Derivato

Commenti

È in genere possibile usare il modello di eventi deboli quando l'origine evento abbia una durata degli oggetti che è indipendente dal listener di eventi.You typically use the weak event pattern when the event source has an object lifetime that is independent of the event listeners. Tramite l'evento centrale dell'invio di funzionalità di un WeakEventManager consente ai gestori del listener venga sottoposto a garbage collection anche se l'oggetto di origine viene mantenuto.Using the central event dispatching capability of a WeakEventManager allows the listener's handlers to be garbage collected even if the source object persists. Al contrario, un'associazione dell'evento normale utilizzando il += operatore fa sì che l'origine eventualmente disconnessa che contiene un riferimento di listener di traccia.By contrast, a regular event hookup using the += operator causes the potentially disconnected source to hold a reference to the listeners. Ciò impedisce che il destinatario di garbage collection in modo tempestivo.This prevents the receiver from being garbage collected in a timely fashion.

Una situazione comune in cui è necessario utilizzare le relazioni di durata tra le origini e i listener dello schema di eventi debole è la gestione degli eventi di aggiornamento provenienti dal data binding.One common situation where the lifetime relationships between sources and listeners should use of the weak event pattern is the handling of update events coming from data bindings.

Il modello di eventi deboli è anche utilizzabile per eventi regolari e i callback.The weak event pattern can also be used for callbacks and regular events.

Note per gli eredi

Per un esempio di una classe personalizzata WeakEventManager, vedere modelli di eventi deboli.For an example of a custom WeakEventManager, see Weak Event Patterns.

Costruttori

WeakEventManager() WeakEventManager() WeakEventManager() WeakEventManager()

Inizializza i valori della classe di base quando viene utilizzato come inizializzatore dal costruttore di una classe derivata.Initializes base class values when it is used as the initializer by the constructor of a derived class.

Proprietà

Dispatcher Dispatcher Dispatcher Dispatcher

Ottiene l'oggetto Dispatcher associato a DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
Item[Object] Item[Object] Item[Object] Item[Object]

Ottiene o imposta i dati archiviati per l'origine specificata.Gets or sets the data being stored for the specified source.

ReadLock ReadLock ReadLock ReadLock

Imposta un blocco di lettura nella tabella di dati sottostanti e restituisce IDisposable.Establishes a read-lock on the underlying data table, and returns an IDisposable.

WriteLock WriteLock WriteLock WriteLock

Imposta un blocco di scrittura nella tabella di dati sottostanti e restituisce IDisposable.Establishes a write-lock on the underlying data table, and returns an IDisposable.

Metodi

CheckAccess() CheckAccess() CheckAccess() CheckAccess()

Determina se il thread chiamante ha accesso a DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
DeliverEvent(Object, EventArgs) DeliverEvent(Object, EventArgs) DeliverEvent(Object, EventArgs) DeliverEvent(Object, EventArgs)

Recapita l'evento gestito a ogni listener.Delivers the event being managed to each listener.

DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList)

Recapita l'evento gestito a ogni listener contenuto nell'elenco fornito.Delivers the event being managed to each listener in the provided list.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetCurrentManager(Type) GetCurrentManager(Type) GetCurrentManager(Type) GetCurrentManager(Type)

Restituisce l'implementazione di WeakEventManager utilizzata per il tipo fornito.Returns the WeakEventManager implementation that is used for the provided type.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
NewListenerList() NewListenerList() NewListenerList() NewListenerList()

Restituisce un nuovo oggetto per contenere i listener per un evento.Returns a new object to contain listeners to an event.

ProtectedAddHandler(Object, Delegate) ProtectedAddHandler(Object, Delegate) ProtectedAddHandler(Object, Delegate) ProtectedAddHandler(Object, Delegate)

Aggiunge il delegato specificato come gestore eventi dell'origine specificata.Adds the specified delegate as an event handler of the specified source.

ProtectedAddListener(Object, IWeakEventListener) ProtectedAddListener(Object, IWeakEventListener) ProtectedAddListener(Object, IWeakEventListener) ProtectedAddListener(Object, IWeakEventListener)

Aggiunge il listener fornito all'origine fornita per l'evento gestito.Adds the provided listener to the provided source for the event being managed.

ProtectedRemoveHandler(Object, Delegate) ProtectedRemoveHandler(Object, Delegate) ProtectedRemoveHandler(Object, Delegate) ProtectedRemoveHandler(Object, Delegate)

Rimuove il gestore aggiunto in precedenza dall'origine specificata.Removes the previously added handler from the specified source.

ProtectedRemoveListener(Object, IWeakEventListener) ProtectedRemoveListener(Object, IWeakEventListener) ProtectedRemoveListener(Object, IWeakEventListener) ProtectedRemoveListener(Object, IWeakEventListener)

Rimuove un listener precedentemente aggiunto dall'origine fornita.Removes a previously added listener from the provided source.

Purge(Object, Object, Boolean) Purge(Object, Object, Boolean) Purge(Object, Object, Boolean) Purge(Object, Object, Boolean)

Rimuove voci di listener inattivi dall'elenco di dati per l'origine fornita.Removes inactive listener entries from the data list for the provided source. Restituisce true se alcune voci sono state effettivamente rimosse dall'elenco.Returns true if some entries were actually removed from the list.

Remove(Object) Remove(Object) Remove(Object) Remove(Object)

Rimuove tutti i listener per l'origine specificata.Removes all listeners for the specified source.

ScheduleCleanup() ScheduleCleanup() ScheduleCleanup() ScheduleCleanup()

Richiede l'esecuzione, in un thread con priorità inferiore, della cancellazione di voci inutilizzate contenute nell'elenco di listener sottostante.Requests that a purge of unused entries in the underlying listener list be performed on a lower priority thread.

SetCurrentManager(Type, WeakEventManager) SetCurrentManager(Type, WeakEventManager) SetCurrentManager(Type, WeakEventManager) SetCurrentManager(Type, WeakEventManager)

Imposta la gestione corrente per il tipo di gestione specificata.Sets the current manager for the specified manager type.

StartListening(Object) StartListening(Object) StartListening(Object) StartListening(Object)

Quando è sottoposto a override in una classe derivata, avvia l'attesa dell'evento gestito.When overridden in a derived class, starts listening for the event being managed. 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.After the StartListening(Object) method is first called, the manager should be in the state of calling DeliverEvent(Object, EventArgs) or DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) whenever the relevant event from the provided source is handled.

StopListening(Object) StopListening(Object) StopListening(Object) StopListening(Object)

Quando è sottoposto a override in una classe derivata, interrompe l'attesa dell'evento gestito nell'origine fornita.When overridden in a derived class, stops listening on the provided source for the event being managed.

ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)
VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

Impone che il thread chiamante abbia accesso a DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

Si applica a

Vedi anche