WeakEventManager Klasa

Definicja

Udostępnia klasę bazową dla 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ń modułu 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łe podłączanie zdarzeń przy użyciu += operatora powoduje, że potencjalnie odłączone źródło przechowuje odwołanie do odbiorników. Zapobiega to zbieraniu pamięci przez odbiorcę 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 zdarzeń może być również używany do wywołań zwrotnych i zdarzeń regularnych.

Uwagi dotyczące implementowania

Przykład niestandardowego WeakEventManagerelementu można znaleźć w temacie Słabe wzorce zdarzeń.

Konstruktory

WeakEventManager()

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

Właściwości

Dispatcher

Dispatcher Pobiera tę DispatcherObject wartość skojarzona z.

(Odziedziczone po DispatcherObject)
Item[Object]

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

ReadLock

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

WriteLock

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

Metody

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()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

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

(Odziedziczone po Object)
NewListenerList()

Zwraca nowy obiekt zawierający 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 podanego ź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 liście odbiorników bazowych 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 pierwszym 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 odpowiednie zdarzenie z podanego źródła jest obsługiwane.

StopListening(Object)

Po zastąpieniu w klasie pochodnej program zatrzymuje nasłuchiwanie w podanym źródle dla 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ż