ComAwareEventInfo.AddEventHandler(Object, Delegate) 메서드

정의

이벤트 처리기를 COM 개체에 연결합니다.

public:
 override void AddEventHandler(System::Object ^ target, Delegate ^ handler);
public override void AddEventHandler (object target, Delegate handler);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public override void AddEventHandler (object target, Delegate handler);
override this.AddEventHandler : obj * Delegate -> unit
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
override this.AddEventHandler : obj * Delegate -> unit
Public Overrides Sub AddEventHandler (target As Object, handler As Delegate)

매개 변수

target
Object

이벤트 대리자가 바인딩될 대상 개체입니다.

handler
Delegate

이벤트 대리자입니다.

특성

설명

이 메서드는 COM 개체에 EventInfo.AddEventHandler(Object, Delegate) 이벤트를 연결할 수 있다는 점을 제외하고 메서드와 비슷합니다.

COM 개체인 경우 target 이 메서드는 메서드를 사용하여 ComEventsHelper.Combine(Object, Guid, Int32, Delegate) 이벤트에 대리자를 추가합니다.

AddEventHandler 는 해당 관리되는 대리자에게 호출을 전달하는 COM 이벤트 싱크를 등록하는 데 도움이 됩니다. 다음 정보가 필요합니다.

  • 대상 개체 자체(target)입니다.

  • 원본 인터페이스의 GUID입니다.

  • 지정된 이벤트에 해당하는 COM 인터페이스에 있는 메서드의 DispID입니다.

  • COM 개체가 해당 이벤트(handler)를 트리거할 때 호출되는 대리자입니다.

AddEventHandler 는 해당 COM 소스 인터페이스(생성자의 첫 번째 매개 변수 ComEventInterfaceAttribute.ComEventInterfaceAttribute(Type, Type) 로 지정됨)를 조회합니다. 그런 다음 이름이 이벤트 이름과 동일한 소스 인터페이스에서 메서드를 찾습니다. 원본 인터페이스의 GuidAttribute 값은 전달되는 ComEventsHelper.Combine(Object, Guid, Int32, Delegate)GUID입니다. 메서드의 DispIDAttribute 값은 전달되는 ComEventsHelper.Combine(Object, Guid, Int32, Delegate)DispID 값입니다.

적용 대상