WeakEventManager Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje základní třídu pro správce událostí, která se používá ve vzoru slabé události. Správce přidá a odebere naslouchací procesy pro události (nebo zpětná volání), které tento vzor také používají.
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
- Dědičnost
- Odvozené
Poznámky
Slabý vzor událostí se obvykle používá, když zdroj události má životnost objektu, která je nezávislá na naslouchacích procesů událostí. Použití funkce centrálního odesílání událostí objektu WeakEventManager umožňuje, aby obslužné rutiny naslouchacího procesu byly uvolněny z paměti i v případě, že zdrojový objekt přetrvává. Naproti tomu běžné připojení událostí pomocí operátoru +=
způsobí, že potenciálně odpojený zdroj bude obsahovat odkaz na naslouchací procesy. Tím se zabrání včasnému uvolnění paměti příjemce.
Jednou z běžných situací, kdy by vztahy životnosti mezi zdroji a naslouchacími procesy měly používat slabý vzor událostí, je zpracování událostí aktualizace pocházejících z datových vazeb.
Slabý vzor událostí lze použít také pro zpětná volání a běžné události.
Poznámky pro implementátory
Příklad vlastního WeakEventManagerobjektu najdete v tématu Modely slabých událostí.
Konstruktory
WeakEventManager() |
Inicializuje hodnoty základní třídy, pokud je použit jako inicializátor konstruktorem odvozené třídy. |
Vlastnosti
Dispatcher |
Získá to DispatcherDispatcherObject je přidružena k. (Zděděno od DispatcherObject) |
Item[Object] |
Získá nebo nastaví data uložená pro zadaný zdroj. |
ReadLock |
Vytvoří zámek pro čtení v podkladové tabulce dat a vrátí .IDisposable |
WriteLock |
Vytvoří zámek proti zápisu v podkladové tabulce dat a vrátí IDisposable. |
Metody
CheckAccess() |
Určuje, zda volající vlákno má přístup k tomuto DispatcherObject. (Zděděno od DispatcherObject) |
DeliverEvent(Object, EventArgs) |
Doručí spravovanou událost do každého naslouchacího procesu. |
DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) |
Doručí spravovanou událost každému naslouchacímu procesu v zadaném seznamu. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetCurrentManager(Type) |
Vrátí implementaci WeakEventManager , která se používá pro zadaný typ. |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
NewListenerList() |
Vrátí nový objekt, který bude obsahovat naslouchací procesy události. |
ProtectedAddHandler(Object, Delegate) |
Přidá zadaného delegáta jako obslužnou rutinu události zadaného zdroje. |
ProtectedAddListener(Object, IWeakEventListener) |
Přidá zadaný naslouchací proces do zadaného zdroje pro spravovanou událost. |
ProtectedRemoveHandler(Object, Delegate) |
Odebere dříve přidanou obslužnou rutinu ze zadaného zdroje. |
ProtectedRemoveListener(Object, IWeakEventListener) |
Odebere dříve přidaný naslouchací proces ze zadaného zdroje. |
Purge(Object, Object, Boolean) |
Odebere neaktivní položky naslouchacího procesu ze seznamu dat pro zadaný zdroj. Vrátí hodnotu |
Remove(Object) |
Odebere všechny naslouchací procesy pro zadaný zdroj. |
ScheduleCleanup() |
Požaduje, aby se vyprázdnění nepoužívaných položek v podkladovém seznamu naslouchacího procesu provedlo ve vlákně s nižší prioritou. |
SetCurrentManager(Type, WeakEventManager) |
Nastaví aktuálního manažera pro zadaný typ manažera. |
StartListening(Object) |
Při přepsání v odvozené třídě začne naslouchat spravované události. StartListening(Object) Po prvním volání metody by měl být správce ve stavu volání DeliverEvent(Object, EventArgs) nebo DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) vždy, když je zpracována příslušná událost ze zadaného zdroje. |
StopListening(Object) |
Při přepsání v odvozené třídě přestane naslouchat na zadaném zdroji pro spravovanou událost. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
VerifyAccess() |
Vynucuje, že volající vlákno má přístup k tomuto DispatcherObject. (Zděděno od DispatcherObject) |