WeakEventManager Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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ść |
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) |