WeakEventManager Klasa

Definicja

Udostępnia klasę bazową menedżera zdarzeń, który jest używany w słabym wzorcu zdarzeń. Menedżer dodaje i usuwa odbiorniki zdarzeń (lub wywołań zwrotnych), które również używają wzorca.

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

Zwykle używasz słabego wzorca zdarzeń, gdy źródło zdarzeń ma okres istnienia obiektu, który jest niezależny od odbiorników zdarzeń. Użycie centralnej funkcji wysyłania zdarzeń elementu WeakEventManager umożliwia modułom obsługi odbiornika odzyskiwanie pamięci nawet wtedy, gdy obiekt źródłowy będzie się powtarzać. Z kolei zwykły punkt zaczepienia zdarzeń przy użyciu += operatora powoduje, że potencjalnie odłączone źródło będzie przechowywać odwołanie do odbiorników. Zapobiega to zbieraniu pamięci przez odbiornik w odpowiednim czasie.

Jedną z typowych sytuacji, w której relacje okresu istnienia między źródłami i odbiornikami powinny używać słabego wzorca zdarzeń, jest obsługa zdarzeń aktualizacji pochodzących z powiązań danych.

Słaby wzorzec zdarzenia może być również używany dla wywołań zwrotnych i zdarzeń regularnych.

Notatki dotyczące implementowania

Przykład niestandardowego WeakEventManagerelementu można znaleźć w temacie Weak Event Patterns (Słabe wzorce zdarzeń).

Konstruktory

Nazwa Opis
WeakEventManager()

Inicjuje wartości klas bazowych, gdy jest używany jako inicjator przez konstruktor klasy pochodnej.

Właściwości

Nazwa Opis
Dispatcher

Pobiera elementDispatcher, z który DispatcherObject jest skojarzony.

(Odziedziczone po DispatcherObject)
Item[Object]

Pobiera lub ustawia dane przechowywane dla określonego źródła.

ReadLock

Ustanawia blokadę odczytu w podstawowej tabeli danych i zwraca wartość IDisposable.

WriteLock

Ustanawia blokadę zapisu w podstawowej tabeli danych i zwraca wartość IDisposable.

Metody

Nazwa Opis
CheckAccess()

Określa, czy wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)
DeliverEvent(Object, EventArgs)

Dostarcza zdarzenie zarządzane do każdego odbiornika.

DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList)

Dostarcza zdarzenie zarządzane do każdego odbiornika na podanej liście.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetCurrentManager(Type)

Zwraca implementację WeakEventManager używaną dla podanego typu.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
NewListenerList()

Zwraca nowy obiekt, który zawiera odbiorniki do zdarzenia.

ProtectedAddHandler(Object, Delegate)

Dodaje określonego delegata jako procedurę obsługi zdarzeń określonego źródła.

ProtectedAddListener(Object, IWeakEventListener)

Dodaje udostępniony odbiornik do dostarczonego źródła dla zarządzanego zdarzenia.

ProtectedRemoveHandler(Object, Delegate)

Usuwa wcześniej dodaną procedurę obsługi z określonego źródła.

ProtectedRemoveListener(Object, IWeakEventListener)

Usuwa wcześniej dodany odbiornik z dostarczonego źródła.

Purge(Object, Object, Boolean)

Usuwa nieaktywne wpisy odbiornika z listy danych dla podanego źródła. Zwraca wartość true , jeśli niektóre wpisy zostały rzeczywiście usunięte z listy.

Remove(Object)

Usuwa wszystkie odbiorniki dla określonego źródła.

ScheduleCleanup()

Żądania przeczyszczania nieużywanych wpisów na podstawowej liście odbiorników są wykonywane w wątku o niższym priorytcie.

SetCurrentManager(Type, WeakEventManager)

Ustawia bieżącego menedżera dla określonego typu menedżera.

StartListening(Object)

Po zastąpieniu w klasie pochodnej rozpoczyna nasłuchiwanie zarządzanego zdarzenia. Po wywołaniu StartListening(Object) metody menedżer powinien być w stanie wywołania DeliverEvent(Object, EventArgs) lub DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) za każdym razem, gdy jest obsługiwane odpowiednie zdarzenie z podanego źródła.

StopListening(Object)

Po zastąpieniu w klasie pochodnej program zatrzymuje nasłuchiwanie w podanym źródle zarządzanego zdarzenia.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
VerifyAccess()

Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)

Dotyczy

Zobacz też