Aracılığıyla paylaş


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 dinleyicileri 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 yaşam süresi olduğunda zayıf olay desenini kullanırsınız. 'nin merkezi olay dağıtma özelliğinin WeakEventManager kullanılması, kaynak nesne kalıcı olsa bile dinleyicinin işleyicilerinin atık 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 atık 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

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

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 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

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()

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

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

Geçerli Objectöğesinin sığ 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ı girdiler listeden gerçekten kaldırılmışsa döndürür true .

Remove(Object)

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

ScheduleCleanup()

Temel dinleyici listesindeki kullanılmayan girdilerin temizlenmesini daha düşük öncelikli bir iş parçacığında gerçekleştirmeyi 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. StartListening(Object) Yöntem ilk 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 dizeyi 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.