WeakEventManager WeakEventManager WeakEventManager WeakEventManager Class

정의

약한 이벤트 패턴에서 사용되는 이벤트 관리자에 대해 기본 클래스를 제공합니다.Provides a base class for the event manager that is used in the weak event pattern. 이 관리자는 마찬가지로 패턴을 사용하는 이벤트(콜백)에 대해 수신기를 추가하거나 제거합니다.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.

일반적인 상황은 원본과 수신기 간의 수명 관계를 사용 하는 약한 이벤트 패턴의 경우 생성 되는 업데이트 이벤트에서 데이터 바인딩을 처리 합니다.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)

적용 대상

추가 정보