ComAwareEventInfo.AddEventHandler(Object, Delegate) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Anexa um manipulador de eventos a um objeto COM.
public:
override void AddEventHandler(System::Object ^ target, Delegate ^ handler);
public override void AddEventHandler(object target, Delegate handler);
override this.AddEventHandler : obj * Delegate -> unit
abstract member AddEventHandler : obj * Delegate -> unit
override this.AddEventHandler : obj * Delegate -> unit
Public Overrides Sub AddEventHandler (target As Object, handler As Delegate)
Parâmetros
- target
- Object
O objeto de destino ao qual o delegado de eventos deve se associar.
- handler
- Delegate
O delegado do evento.
Comentários
Esse método é semelhante ao EventInfo.AddEventHandler(Object, Delegate) método, exceto pelo fato de permitir que você anexe eventos a objetos COM.
Se target for um objeto COM, esse método adicionará um delegado a um evento usando o ComEventsHelper.Combine(Object, Guid, Int32, Delegate) método.
AddEventHandler facilita o registro de coletores de eventos COM que encaminham chamadas para delegados gerenciados correspondentes. Ele requer as seguintes informações:
O objeto de destino em si (
target).O GUID da interface de origem.
O DispID do método na interface COM que corresponde ao evento especificado.
O delegado que seria invocado quando o objeto COM dispara o evento correspondente (
handler).
AddEventHandler pesquisa a interface de origem COM correspondente (especificada como o primeiro parâmetro do ComEventInterfaceAttribute.ComEventInterfaceAttribute(Type, Type) construtor). Em seguida, ele pesquisa um método na interface de origem cujo nome é idêntico ao nome do evento. O valor da interface de GuidAttribute origem é o GUID que é passado para ComEventsHelper.Combine(Object, Guid, Int32, Delegate); o valor do DispIDAttribute método é o valor dispID que é passado para ComEventsHelper.Combine(Object, Guid, Int32, Delegate).