ComAwareEventInfo.RemoveEventHandler(Object, Delegate) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
COM 개체에서 이벤트 처리기를 분리합니다.
public:
override void RemoveEventHandler(System::Object ^ target, Delegate ^ handler);
public override void RemoveEventHandler (object target, Delegate handler);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public override void RemoveEventHandler (object target, Delegate handler);
override this.RemoveEventHandler : obj * Delegate -> unit
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
override this.RemoveEventHandler : obj * Delegate -> unit
Public Overrides Sub RemoveEventHandler (target As Object, handler As Delegate)
매개 변수
- target
- Object
이벤트 대리자가 바인딩되는 대상 개체입니다.
- handler
- Delegate
이벤트 대리자입니다.
- 특성
예외
이 이벤트에 public remove
접근자가 없는 경우
전달된 처리기를 사용할 수 없는 경우
target
매개 변수가 null
이고 이벤트가 static이 아닌 경우
또는
EventInfo가 대상에서 선언되지 않은 경우
참고: Windows 스토어 앱 또는 이식 가능한 클래스 라이브러리용 .NET에서 대신 catch Exception 합니다.
호출자에게 멤버에 대한 액세스 권한이 없는 경우
참고: Windows 스토어 앱 또는 이식 가능한 클래스 라이브러리용 .NET에서 기본 클래스 예외 를 MemberAccessException대신 catch합니다.
설명
이 메서드는 COM 개체에서 이벤트를 분리할 수 있다는 점을 제외하고 메서드와 비슷합니다 EventInfo.RemoveEventHandler(Object, Delegate) .
가 COM 개체인 경우 target
이 메서드는 메서드를 사용하여 이벤트에 대리자를 해제합니다 ComEventsHelper.Remove(Object, Guid, Int32, Delegate) .
RemoveEventHandler 에서는 해당 관리되는 대리자에게 호출을 전달하는 COM 이벤트 싱크의 등록을 취소할 수 있습니다. 다음 정보가 필요합니다.
대상 개체 자체(
target
)입니다.원본 인터페이스의 GUID입니다.
지정된 이벤트에 해당하는 COM 인터페이스의 메서드 DispID입니다.
COM 개체가 해당 이벤트(
handler
)를 트리거할 때 호출될 대리자입니다.
RemoveEventHandler 는 해당 COM 소스 인터페이스(생성자의 첫 번째 매개 변수 ComEventInterfaceAttribute.ComEventInterfaceAttribute(Type, Type) 로 지정됨)를 조회합니다. 그런 다음 이름이 이벤트 이름과 동일한 소스 인터페이스에서 메서드를 조회합니다. 소스 인터페이스의 값 GuidAttribute
은 에 전달되는 ComEventsHelper.Remove(Object, Guid, Int32, Delegate)GUID입니다. 메서드의 DispIDAttribute
값은 에 전달되는 ComEventsHelper.Remove(Object, Guid, Int32, Delegate)DispID 값입니다.
적용 대상
.NET