IWeakEventListener 인터페이스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
WeakEvent 패턴 및 WeakEventManager을 통해 이벤트를 수신할 것으로 예상되는 클래스에 대한 이벤트 수신 대기 지원을 제공합니다.
public interface class IWeakEventListener
public interface IWeakEventListener
type IWeakEventListener = interface
Public Interface IWeakEventListener
- 파생
설명
(디스패처)는 WeakEventManager 이 인터페이스를 구현하는 클래스에서 메서드를 호출 ReceiveWeakEvent 하고 메서드를 미리 호출 WeakEventManager 하여 수신기로 추가된 이벤트를 전달합니다.
WeakEvent 패턴을 따르는 주된 이유는 이벤트 원본에 이벤트 수신기와 잠재적으로 독립적인 개체 수명이 있는 경우입니다. 중앙 이벤트 디스패치를 사용하면 원본 개체 수 WeakEventManager 명이 수신기 이상으로 확장되더라도 수신기에 대한 처리기를 가비지 수집(또는 수동으로 제거)할 수 있습니다. 반면, 언어별 이벤트 구문을 사용하는 += 일반적인 이벤트 연결은 잠재적으로 여전히 연결된 원본이 처리기에 대한 강력한 참조를 보유하게 합니다. 이렇게 하면 수신기 참조가 적시에 가비지 수집되지 않습니다.
원본과 수신기 간의 관계가 이 패턴의 사용을 시사하는 일반적인 상황 중 하나는 데이터 바인딩을 위해 원본에서 오는 업데이트 이벤트를 처리하는 것입니다.
WeakEvent 패턴을 사용하여 애플리케이션 외부에 있는 이벤트를 수신 대기할 수 있습니다. 해당 항목을 정의 WeakEventManager 하고, 수신 대기 동작 ReceiveWeakEvent을 제공하고, WeakEventManager 처리기 참조를 연결하기만 하면 됩니다 +=.
메서드
| Name | Description |
|---|---|
| ReceiveWeakEvent(Type, Object, EventArgs) |
중앙 집중식 이벤트 관리자로부터 이벤트를 받습니다. |