WeakEventManager Klasa

Definicja

Dostarcza klasę bazową dla Menedżera zdarzeń, która jest używana w niesłabym wzorcu zdarzenia.Provides a base class for the event manager that is used in the weak event pattern. Menedżer dodaje i usuwa detektory zdarzeń (lub wywołania zwrotne), które również używają wzorca.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
Dziedziczenie
WeakEventManager
Pochodne

Uwagi

Wzorzec zdarzeń słabych jest zazwyczaj używany, gdy źródło zdarzenia ma okres istnienia obiektu, który jest niezależny od detektorów zdarzeń.You typically use the weak event pattern when the event source has an object lifetime that is independent of the event listeners. Użycie centralnej funkcji wysyłania zdarzeń przez program WeakEventManager umożliwia obsługę elementów bezużytecznych odbiornika, nawet jeśli obiekt źródłowy utrzymuje się.Using the central event dispatching capability of a WeakEventManager allows the listener's handlers to be garbage collected even if the source object persists. W przeciwieństwie do regularnego podłączenie zdarzeń przy użyciu += operatora powoduje, że potencjalnie odłączona źródło może przechowywać odwołanie do odbiorników.By contrast, a regular event hookup using the += operator causes the potentially disconnected source to hold a reference to the listeners. Zapobiega to odbieraniu przez odbiornik elementów bezużytecznych w odpowiednim czasie.This prevents the receiver from being garbage collected in a timely fashion.

Jedną z typowych sytuacji, w której relacje okresu istnienia między źródłami i odbiornikami powinny używać słabego wzorca zdarzeń, obsługują zdarzenia aktualizacji pochodzące z powiązań danych.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.

Słaby wzorzec zdarzeń może również służyć do wywoływania zwrotnego i zwykłych zdarzeń.The weak event pattern can also be used for callbacks and regular events.

Uwagi dotyczące implementowania

Przykład niestandardowego WeakEventManager , zobacz słabych wzorców zdarzeń.For an example of a custom WeakEventManager, see Weak Event Patterns.

Konstruktory

WeakEventManager()

Inicjuje wartości klasy bazowej, gdy jest używany jako inicjator przez konstruktora klasy pochodnej.Initializes base class values when it is used as the initializer by the constructor of a derived class.

Właściwości

Dispatcher

Pobiera Dispatcher ten DispatcherObject program jest skojarzony z.Gets the Dispatcher this DispatcherObject is associated with.

(Odziedziczone po DispatcherObject)
Item[Object]

Pobiera lub ustawia dane przechowywane dla określonego źródła.Gets or sets the data being stored for the specified source.

ReadLock

Ustanawia odblokowanie do odczytu w źródłowej tabeli danych i zwraca IDisposable .Establishes a read-lock on the underlying data table, and returns an IDisposable.

WriteLock

Ustanawia blokadę zapisu w źródłowej tabeli danych i zwraca IDisposable .Establishes a write-lock on the underlying data table, and returns an IDisposable.

Metody

CheckAccess()

Określa, czy wątek wywołujący ma dostęp do tego DispatcherObject .Determines whether the calling thread has access to this DispatcherObject.

(Odziedziczone po DispatcherObject)
DeliverEvent(Object, EventArgs)

Dostarcza zdarzenie zarządzane dla każdego odbiornika.Delivers the event being managed to each listener.

DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList)

Dostarcza zdarzenie zarządzane dla każdego odbiornika na podanej liście.Delivers the event being managed to each listener in the provided list.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetCurrentManager(Type)

Zwraca WeakEventManager implementację używaną dla podanego typu.Returns the WeakEventManager implementation that is used for the provided type.

GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
NewListenerList()

Zwraca nowy obiekt, który zawiera detektory do zdarzenia.Returns a new object to contain listeners to an event.

ProtectedAddHandler(Object, Delegate)

Dodaje określonego delegata jako procedurę obsługi zdarzeń określonego źródła.Adds the specified delegate as an event handler of the specified source.

ProtectedAddListener(Object, IWeakEventListener)

Dodaje podany odbiornik do podanego źródła dla zarządzanego zdarzenia.Adds the provided listener to the provided source for the event being managed.

ProtectedRemoveHandler(Object, Delegate)

Usuwa wcześniej dodaną procedurę obsługi z określonego źródła.Removes the previously added handler from the specified source.

ProtectedRemoveListener(Object, IWeakEventListener)

Usuwa wcześniej dodany odbiornik z podanego źródła.Removes a previously added listener from the provided source.

Purge(Object, Object, Boolean)

Usuwa nieaktywne wpisy odbiornika z listy danych dla podanego źródła.Removes inactive listener entries from the data list for the provided source. Zwraca true czy niektóre wpisy zostały faktycznie usunięte z listy.Returns true if some entries were actually removed from the list.

Remove(Object)

Usuwa wszystkie detektory dla określonego źródła.Removes all listeners for the specified source.

ScheduleCleanup()

Żąda, aby przeczyszczanie nieużywanych wpisów na liście bazowych odbiorników odbywało się w wątku o niższym priorytecie.Requests that a purge of unused entries in the underlying listener list be performed on a lower priority thread.

SetCurrentManager(Type, WeakEventManager)

Ustawia bieżącego Menedżera dla określonego typu Menedżera.Sets the current manager for the specified manager type.

StartListening(Object)

Gdy jest zastępowany w klasie pochodnej, zaczyna nasłuchiwać zarządzanego zdarzenia.When overridden in a derived class, starts listening for the event being managed. Po StartListening(Object) pierwszym wywołaniu metody Menedżer powinien być w stanie wywoływania DeliverEvent(Object, EventArgs) lub DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) zawsze, gdy odpowiednie zdarzenie z podanego źródła jest obsługiwane.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)

Gdy jest zastępowany w klasie pochodnej, przestaje nasłuchiwać podanego źródła dla zarządzanego zdarzenia.When overridden in a derived class, stops listening on the provided source for the event being managed.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)
VerifyAccess()

Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObject .Enforces that the calling thread has access to this DispatcherObject.

(Odziedziczone po DispatcherObject)

Dotyczy

Zobacz też