WeakEventManager WeakEventManager WeakEventManager WeakEventManager Class

Definition

Stellt eine Basisklasse für den Ereignis-Manager bereit, der im Muster für schwache Ereignisse verwendet wird.Provides a base class for the event manager that is used in the weak event pattern. Der Manager fügt Listener hinzu oder entfernt diese für Ereignisse (oder Rückrufe), die ebenfalls dieses Muster verwenden.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
Vererbung
WeakEventManagerWeakEventManagerWeakEventManagerWeakEventManager
Abgeleitet

Hinweise

Normalerweise verwenden Sie das Muster für schwache Ereignisse, wenn die Ereignisquelle eine Objektlebensdauer enthält, die unabhängig von der Ereignislistener ist.You typically use the weak event pattern when the event source has an object lifetime that is independent of the event listeners. Mit dem zentralen Ereignis verteilen die Möglichkeit, eine WeakEventManager des Listeners Handler können Garbage Collection durchgeführt, selbst wenn das Quellobjekt weiterhin besteht.Using the central event dispatching capability of a WeakEventManager allows the listener's handlers to be garbage collected even if the source object persists. Im Gegensatz dazu ein reguläres ereigniseinbindung mithilfe der += bewirkt, dass die potenziell nicht verbundene Quelle für einen Verweis an die Listener.By contrast, a regular event hookup using the += operator causes the potentially disconnected source to hold a reference to the listeners. Dadurch wird verhindert, dass den Empfänger der Garbage collection rechtzeitig.This prevents the receiver from being garbage collected in a timely fashion.

Eine allgemeine Situation, in denen die Beziehungen der Objektlebensdauer zwischen Quellen und die Listener verwenden soll, das Muster für schwache Ereignisse ist die Behandlung der Update-Ereignisse, die von datenbindungen an.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.

Das Muster für schwache Ereignisse kann auch für Rückrufe und regelmäßigem Ereignis verwendet werden.The weak event pattern can also be used for callbacks and regular events.

Hinweise für Vererber

Ein Beispiel für eine benutzerdefinierte WeakEventManager, finden Sie unter schwache Ereignismuster.For an example of a custom WeakEventManager, see Weak Event Patterns.

Konstruktoren

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

Initialisiert als Initialisierer innerhalb des Konstruktors einer abgeleiteten Klasse die Basisklassenwerte.Initializes base class values when it is used as the initializer by the constructor of a derived class.

Eigenschaften

Dispatcher Dispatcher Dispatcher Dispatcher

Ruft die Dispatcher dies DispatcherObject zugeordnet ist.Gets the Dispatcher this DispatcherObject is associated with.

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

Ruft die Daten ab, die für die angegebene Quelle gespeichert werden, oder legt diese fest.Gets or sets the data being stored for the specified source.

ReadLock ReadLock ReadLock ReadLock

Richtet auf der zugrunde liegenden Datentabelle eine Lesesperre ein und gibt ein IDisposable zurück.Establishes a read-lock on the underlying data table, and returns an IDisposable.

WriteLock WriteLock WriteLock WriteLock

Richtet auf der zugrunde liegenden Datentabelle eine Schreibsperre ein und gibt ein IDisposable zurück.Establishes a write-lock on the underlying data table, and returns an IDisposable.

Methoden

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

Bestimmt, ob der aufrufende Thread den Zugriff auf diese kann 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)

Übermittelt das verwaltete Ereignis an alle 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)

Übermittelt das verwaltete Ereignis an jeden Listener in der bereitgestellten Liste.Delivers the event being managed to each listener in the provided list.

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

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

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

Gibt die WeakEventManager-Implementierung zurück, die für den bereitgestellten Typ verwendet wird.Returns the WeakEventManager implementation that is used for the provided type.

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

Fungiert als Standardhashfunktion.Serves as the default hash function.

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

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

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

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

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

Gibt ein neues Objekt zurück, mit dem Listener zu einem Ereignis hinzugefügt werden.Returns a new object to contain listeners to an event.

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

Fügt den angegebenen Delegaten als Ereignishandler der angegebenen Quelle hinzu.Adds the specified delegate as an event handler of the specified source.

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

Fügt den bereitgestellten Listener der bereitgestellten Quelle für das verwaltete Ereignis hinzu.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)

Entfernt den zuvor hinzugefügten Handler aus der angegebenen Quelle.Removes the previously added handler from the specified source.

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

Entfernt einen zuvor hinzugefügten Listener aus der bereitgestellten Quelle.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)

Entfernt inaktive Listenereinträge aus der Datenliste für die bereitgestellte Quelle.Removes inactive listener entries from the data list for the provided source. Gibt true zurück, wenn tatsächlich Einträge aus der Liste entfernt wurden.Returns true if some entries were actually removed from the list.

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

Entfernt alle Listener für die angegebene Quelle.Removes all listeners for the specified source.

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

Fordert an, dass das Löschen nicht verwendeter Einträge aus der zugrunde liegenden Liste der Listener in einem Thread mit niedrigerer Priorität ausgeführt wird.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)

Legt den aktuellen Manager für den angegebenen Managertyp fest.Sets the current manager for the specified manager type.

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

Startet beim Überschreiben in einer abgeleiteten Klasse die Überwachung des verwalteten Ereignisses.When overridden in a derived class, starts listening for the event being managed. Nach dem ersten Aufruf der StartListening(Object)-Methode muss der Manager bereit sein für einen Aufruf von DeliverEvent(Object, EventArgs) oder DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList), sobald das relevante Ereignis aus der bereitgestellten Quelle behandelt werden muss.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)

Stoppt beim Überschreiben in einer abgeleiteten Klasse die Überwachung der bereitgestellten Quelle für das verwaltete Ereignis.When overridden in a derived class, stops listening on the provided source for the event being managed.

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

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

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

Erzwingt, dass der aufrufende Thread den Zugriff auf diese DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

Gilt für:

Siehe auch