WeakEventManager Třída

Definice

Poskytuje základní třídu pro správce událostí, který se používá ve slabém vzoru události. Správce přidá a odebere naslouchací procesy pro události (nebo zpětná volání), které tento vzor 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
WeakEventManager
Odvozené

Poznámky

Vzor slabých událostí obvykle používáte v případě, že zdroj událostí má životnost objektu, která je nezávislá na naslouchacím procesu událostí. Použití funkce centrálního odesílání událostí objektu WeakEventManager umožňuje obslužné rutiny naslouchacího procesu uvolňování 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 zabráníte, aby se příjemce včas shromáždil.

Jednou z běžných situací, kdy relace životnosti mezi zdroji a naslouchacími procesy by měly používat slabý vzor událostí, je zpracování událostí aktualizací pocházejících z datových vazeb.

Slabý vzor událostí lze použít také pro zpětné volání a pravidelné události.

Poznámky pro implementátory

Příklad vlastního WeakEventManagerpříkladu najdete v tématu Slabé vzory událostí.

Konstruktory

Name Description
WeakEventManager()

Inicializuje hodnoty základní třídy při použití jako inicializátor konstruktor odvozené třídy.

Vlastnosti

Name Description
Dispatcher

Dispatcher Získá toto DispatcherObject je přidružené.

(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í hodnotu IDisposable.

WriteLock

Vytvoří zámek zápisu v podkladové tabulce dat a vrátí hodnotu IDisposable.

Metody

Name Description
CheckAccess()

Určuje, zda volající vlákno má přístup k tomuto DispatcherObject.

(Zděděno od DispatcherObject)
DeliverEvent(Object, EventArgs)

Doručí událost spravovanou každému naslouchacímu procesu.

DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList)

Doručí událost spravovanou každému naslouchacímu procesu v zadaném seznamu.

Equals(Object)

Určuje, zda je zadaný objekt roven 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í funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
NewListenerList()

Vrátí nový objekt, který bude obsahovat naslouchací procesy události.

ProtectedAddHandler(Object, Delegate)

Přidá zadaný delegát jako obslužnou rutinu události zadaného zdroje.

ProtectedAddListener(Object, IWeakEventListener)

Přidá poskytnutý 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í true , pokud byly některé položky ze seznamu skutečně odebrány.

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 provádělo ve vlákně s nižší prioritou.

SetCurrentManager(Type, WeakEventManager)

Nastaví aktuálního manažera pro zadaný typ správce.

StartListening(Object)

Při přepsání v odvozené třídě začne naslouchat události, která je spravována. StartListening(Object) Po prvním volání metody by správce měl být ve stavu volání DeliverEvent(Object, EventArgs) nebo DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) při každém zpracování příslušné události ze zadaného zdroje.

StopListening(Object)

Při přepsání v odvozené třídě přestane naslouchat na zadaném zdroji pro událost, která je spravována.

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)

Platí pro

Viz také