WeakEventManager Sınıf

Tanım

Zayıf olay deseninde kullanılan olay yöneticisi için bir temel sınıf sağlar. Yönetici, deseni de kullanan olaylar (veya geri çağırmalar) için dinleyiciler ekler ve kaldırır.

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
Devralma
WeakEventManager
Türetilmiş

Açıklamalar

Genellikle, olay kaynağının olay dinleyicilerinden bağımsız bir nesne ömrü olduğunda zayıf olay desenini kullanırsınız. merkezi olay dağıtma özelliğinin WeakEventManager kullanılması, kaynak nesne kalıcı olsa bile dinleyicinin işleyicilerinin çöp olarak toplanmasına olanak tanır. Buna karşılık, işlecini += kullanan normal bir olay bağlantısı, bağlantısı kesilmiş olabilecek kaynağın dinleyicilere bir başvuru tutmasına neden olur. Bu, alıcının zamanında çöp toplamasını önler.

Kaynaklar ve dinleyiciler arasındaki yaşam süresi ilişkilerinin zayıf olay desenini kullanması gereken yaygın durumlardan biri, veri bağlamalarından gelen güncelleştirme olaylarının işlenmesidir.

Zayıf olay düzeni, geri çağırmalar ve normal olaylar için de kullanılabilir.

Uygulayanlara Notlar

Özel WeakEventManagerbir örnek için bkz . Zayıf Olay Desenleri.

Oluşturucular

Name Description
WeakEventManager()

Türetilmiş bir sınıfın oluşturucusunun başlatıcısı olarak kullanıldığında temel sınıf değerlerini başlatır.

Özellikler

Name Description
Dispatcher

Dispatcher Bunun DispatcherObject ilişkili olduğu öğesini alır.

(Devralındığı yer: DispatcherObject)
Item[Object]

Belirtilen kaynak için depolanan verileri alır veya ayarlar.

ReadLock

Temel alınan veri tablosunda bir okuma kilidi oluşturur ve döndürür IDisposable.

WriteLock

Temel alınan veri tablosunda bir yazma kilidi oluşturur ve döndürür IDisposable.

Yöntemler

Name Description
CheckAccess()

Çağıran iş parçacığının bu DispatcherObjectöğesine erişimi olup olmadığını belirler.

(Devralındığı yer: DispatcherObject)
DeliverEvent(Object, EventArgs)

Yönetilen olayı her dinleyiciye teslim eder.

DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList)

Yönetilen olayı sağlanan listedeki her dinleyiciye teslim eder.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetCurrentManager(Type)

WeakEventManager Sağlanan tür için kullanılan uygulamayı döndürür.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
NewListenerList()

Bir olayın dinleyicilerini içerecek yeni bir nesne döndürür.

ProtectedAddHandler(Object, Delegate)

Belirtilen temsilciyi belirtilen kaynağın olay işleyicisi olarak ekler.

ProtectedAddListener(Object, IWeakEventListener)

Sağlanan dinleyiciyi yönetilen olay için sağlanan kaynağa ekler.

ProtectedRemoveHandler(Object, Delegate)

Belirtilen kaynaktan daha önce eklenen işleyiciyi kaldırır.

ProtectedRemoveListener(Object, IWeakEventListener)

Sağlanan kaynaktan daha önce eklenmiş bir dinleyiciyi kaldırır.

Purge(Object, Object, Boolean)

Sağlanan kaynağın veri listesinden etkin olmayan dinleyici girdilerini kaldırır. Bazı girdilerin gerçekten listeden kaldırılıp kaldırılmadığını döndürür true .

Remove(Object)

Belirtilen kaynak için tüm dinleyicileri kaldırır.

ScheduleCleanup()

Temel dinleyici listesindeki kullanılmayan girdileri temizleme işleminin daha düşük öncelikli bir iş parçacığında gerçekleştirilmesini istemektedir.

SetCurrentManager(Type, WeakEventManager)

Belirtilen yönetici türü için geçerli yöneticiyi ayarlar.

StartListening(Object)

Türetilmiş bir sınıfta geçersiz kılındığında, yönetilen olayı dinlemeye başlar. Yöntemi ilk StartListening(Object) kez çağrıldıktan sonra, yöneticinin çağrı DeliverEvent(Object, EventArgs) durumunda olması veya DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) sağlanan kaynaktan ilgili olay işlendiğinde olması gerekir.

StopListening(Object)

Türetilmiş bir sınıfta geçersiz kılındığında, yönetilen olay için sağlanan kaynakta dinlemeyi durdurur.

ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)
VerifyAccess()

Çağıran iş parçacığının bu DispatcherObjectöğesine erişmesini zorlar.

(Devralındığı yer: DispatcherObject)

Şunlara uygulanır

Ayrıca bkz.