WeakEventManager WeakEventManager WeakEventManager WeakEventManager Class

定義

弱いイベント パターンで使用されるイベント マネージャーの基本クラスです。Provides a base class for the event manager that is used in the weak event pattern. このマネージャーは、WeakEvent パターンを使用するイベント (またはコールバック) 用のリスナーを追加または削除します。The manager adds and removes listeners for events (or callbacks) that also use the pattern.

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
継承
WeakEventManagerWeakEventManagerWeakEventManagerWeakEventManager
派生

注釈

通常、イベント ソースには、イベント リスナーの独立したオブジェクトの有効期間がある場合は、弱いイベント パターンを使用します。You typically use the weak event pattern when the event source has an object lifetime that is independent of the event listeners. サーバーの全体の機能をディスパッチ イベントを使用して、WeakEventManagerガベージ コレクションのソース オブジェクトが解決しない場合でも、リスナーのハンドラーを使用します。Using the central event dispatching capability of a WeakEventManager allows the listener's handlers to be garbage collected even if the source object persists. これに対しを使用して定期的なイベント フックアップ、+=演算子により、リスナーへの参照を保持するために切断された可能性のあるソース。By contrast, a regular event hookup using the += operator causes the potentially disconnected source to hold a reference to the listeners. これは、受信側がガベージ コレクション、迅速にすることを防ぎます。This prevents the receiver from being garbage collected in a timely fashion.

一般的な状況の 1 つのソースとリスナーの有効期間の関係を使用する必要が弱いイベント パターンのでは、データ バインディングの更新イベントの処理です。One common situation where the lifetime relationships between sources and listeners should use of the weak event pattern is the handling of update events coming from data bindings.

弱いイベント パターンは、コールバックと通常のイベントにも使用できます。The weak event pattern can also be used for callbacks and regular events.

注意 (継承者)

カスタムの例についてはWeakEventManagerを参照してください弱いイベント パターンします。For an example of a custom WeakEventManager, see Weak Event Patterns.

コンストラクター

WeakEventManager() WeakEventManager() WeakEventManager() WeakEventManager()

派生クラスのコンストラクターによって初期化子として使用されると、基本クラスの値を初期化します。Initializes base class values when it is used as the initializer by the constructor of a derived class.

プロパティ

Dispatcher Dispatcher Dispatcher Dispatcher

取得、DispatcherこのDispatcherObjectに関連付けられています。Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
Item[Object] Item[Object] Item[Object] Item[Object]

指定したソース用に格納されているデータを取得または設定します。Gets or sets the data being stored for the specified source.

ReadLock ReadLock ReadLock ReadLock

基になるデータ テーブルで読み取りロックを確立し、IDisposable を返します。Establishes a read-lock on the underlying data table, and returns an IDisposable.

WriteLock WriteLock WriteLock WriteLock

基になるデータ テーブルで書き込みロックを確立し、IDisposable を返します。Establishes a write-lock on the underlying data table, and returns an IDisposable.

メソッド

CheckAccess() CheckAccess() CheckAccess() CheckAccess()

呼び出し元のスレッドが、これに対するアクセス権を持つかどうかを判断しますDispatcherObjectします。Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
DeliverEvent(Object, EventArgs) DeliverEvent(Object, EventArgs) DeliverEvent(Object, EventArgs) DeliverEvent(Object, EventArgs)

管理対象のイベントを各リスナーに配信します。Delivers the event being managed to each listener.

DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList)

管理対象のイベントを、指定されたリスト内の各リスナーに配信します。Delivers the event being managed to each listener in the provided list.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetCurrentManager(Type) GetCurrentManager(Type) GetCurrentManager(Type) GetCurrentManager(Type)

指定された型に使用される WeakEventManager 実装を返します。Returns the WeakEventManager implementation that is used for the provided type.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
NewListenerList() NewListenerList() NewListenerList() NewListenerList()

イベントのリスナーを格納する新しいオブジェクトを返します。Returns a new object to contain listeners to an event.

ProtectedAddHandler(Object, Delegate) ProtectedAddHandler(Object, Delegate) ProtectedAddHandler(Object, Delegate) ProtectedAddHandler(Object, Delegate)

指定されたソースのイベント ハンドラーとして指定したデリゲートを追加します。Adds the specified delegate as an event handler of the specified source.

ProtectedAddListener(Object, IWeakEventListener) ProtectedAddListener(Object, IWeakEventListener) ProtectedAddListener(Object, IWeakEventListener) ProtectedAddListener(Object, IWeakEventListener)

指定されたリスナーを、管理対象のイベントの指定されたソースに追加します。Adds the provided listener to the provided source for the event being managed.

ProtectedRemoveHandler(Object, Delegate) ProtectedRemoveHandler(Object, Delegate) ProtectedRemoveHandler(Object, Delegate) ProtectedRemoveHandler(Object, Delegate)

指定したソースから、以前追加されたハンドラーを削除します。Removes the previously added handler from the specified source.

ProtectedRemoveListener(Object, IWeakEventListener) ProtectedRemoveListener(Object, IWeakEventListener) ProtectedRemoveListener(Object, IWeakEventListener) ProtectedRemoveListener(Object, IWeakEventListener)

以前に追加されたリスナーを指定されたソースから削除します。Removes a previously added listener from the provided source.

Purge(Object, Object, Boolean) Purge(Object, Object, Boolean) Purge(Object, Object, Boolean) Purge(Object, Object, Boolean)

指定されたソースのデータ リストから、アクティブでないリスナー エントリを削除します。Removes inactive listener entries from the data list for the provided source. いくつかのエントリが実際にリストから削除された場合は、true を返します。Returns true if some entries were actually removed from the list.

Remove(Object) Remove(Object) Remove(Object) Remove(Object)

指定したソースのリスナーをすべて削除します。Removes all listeners for the specified source.

ScheduleCleanup() ScheduleCleanup() ScheduleCleanup() ScheduleCleanup()

基になるリスナー リストに含まれる未使用エントリの削除を、優先順位の低いスレッドで実行するように要求します。Requests that a purge of unused entries in the underlying listener list be performed on a lower priority thread.

SetCurrentManager(Type, WeakEventManager) SetCurrentManager(Type, WeakEventManager) SetCurrentManager(Type, WeakEventManager) SetCurrentManager(Type, WeakEventManager)

指定したマネージャーの種類に対する現在のマネージャーを設定します。Sets the current manager for the specified manager type.

StartListening(Object) StartListening(Object) StartListening(Object) StartListening(Object)

派生クラスでオーバーライドされると、管理対象のイベントのリッスンを開始します。When overridden in a derived class, starts listening for the event being managed. StartListening(Object) メソッドが初めて呼び出された後、マネージャーは、提供されたソースからの関連イベントを処理するたびに、DeliverEvent(Object, EventArgs) または DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) を呼び出している状態になる必要があります。After the StartListening(Object) method is first called, the manager should be in the state of calling DeliverEvent(Object, EventArgs) or DeliverEventToList(Object, EventArgs, WeakEventManager+ListenerList) whenever the relevant event from the provided source is handled.

StopListening(Object) StopListening(Object) StopListening(Object) StopListening(Object)

派生クラスでオーバーライドされると、指定されたソースで管理対象のイベントのリッスンを停止します。When overridden in a derived class, stops listening on the provided source for the event being managed.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)
VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

呼び出し元のスレッドがこのへのアクセスを強制DispatcherObjectします。Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

適用対象

こちらもご覧ください