내보내기(0) 인쇄
모두 확장

IWeakEventListener 인터페이스

업데이트: 2007년 11월

WeakEvent 패턴 및 WeakEventManager를 통해 이벤트를 수신해야 하는 클래스에 대해 이벤트 수신 대기를 지원합니다.

네임스페이스:  System.Windows
어셈블리:  WindowsBase(WindowsBase.dll)

public interface IWeakEventListener
public interface IWeakEventListener
public interface IWeakEventListener
XAML에서는 인터페이스를 직접 사용할 수 없습니다. 이 인터페이스를 구현하는 형식을 참조하십시오.

WeakEventManager(디스패처)는 이 인터페이스를 구현하는 클래스에서 ReceiveWeakEvent 메서드를 호출하여 이벤트를 전달합니다. 이 클래스는 사전에 WeakEventManager 메서드를 호출하여 수신기로 추가되었습니다.

WeakEvent 패턴을 따라야 하는 주된 경우는 이벤트 소스의 개체 수명이 이벤트 수신기와는 관계가 없을 때입니다. WeakEventManager의 중앙 이벤트 디스패치를 사용하면 소스 개체 수명이 수신기보다 늘어나는 경우에도 수신기 처리기를 가비지 수집(수동 제거)할 수 있습니다. 반면 += 또는 이와 동일한 언어별 이벤트 구문을 사용하는 일반 이벤트 후크는 아직 연결되어 있는 소스가 처리기에 대한 강력한 참조를 보관하도록 합니다. 이로 인해 수신기 참조가 적절한 시기에 가비지 수집되지 못합니다.

소스와 수신기 간의 관계에서 이러한 패턴을 사용하는 일반적인 경우는 데이터 바인딩에 대해 소스에서 생성되는 업데이트 이벤트를 처리할 때입니다.

WeakEvent 패턴을 사용하면 응용 프로그램의 외부에 있는 이벤트를 수신 대기할 수 있습니다. 이를 위해 WeakEventManager를 정의하고, ReceiveWeakEvent에 수신 대기 동작을 제공하며, WeakEventManager를 사용하여 +=가 아닌 처리기 참조를 연결만 하면 됩니다.

Windows Vista

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

.NET Framework

3.5, 3.0에서 지원

커뮤니티 추가 항목

추가
표시:
© 2015 Microsoft