Udostępnij za pośrednictwem


WeakEventManager Klasa

Definicja

Udostępnia klasę bazową menedżera zdarzeń, która jest używana w słabym wzorcu zdarzeń. Menedżer dodaje i usuwa odbiorniki dla 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ń WeakEventManager umożliwia modułom obsługi odbiornika zbieranie pamięci, nawet jeśli obiekt źródłowy będzie się powtarzać. Z kolei regularne podłączanie 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 odbiornika w sposób terminowy.

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 Weak Event Patterns (Słabe wzorce zdarzeń).

Konstruktory

WeakEventManager()

Inicjuje wartości klas bazowych, gdy jest on używany 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 podstawowej tabeli danych 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 bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

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

(Odziedziczone po Object)
NewListenerList()

Zwraca nowy obiekt zawierający odbiorniki 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 udostępnionego źródła 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 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. StartListening(Object) Po pierwszym wywołaniu 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 przesłonięciu w klasie pochodnej przestaje nasłuchiwać 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ż