ComAwareEventInfo.RemoveEventHandler(Object, Delegate) Método

Definição

Desliga um gestor de eventos de um objeto COM.

public:
 override void RemoveEventHandler(System::Object ^ target, Delegate ^ handler);
public override void RemoveEventHandler(object target, Delegate handler);
override this.RemoveEventHandler : obj * Delegate -> unit
abstract member RemoveEventHandler : obj * Delegate -> unit
override this.RemoveEventHandler : obj * Delegate -> unit
Public Overrides Sub RemoveEventHandler (target As Object, handler As Delegate)

Parâmetros

target
Object

O objeto alvo ao qual o delegado do evento está ligado.

handler
Delegate

O delegado do evento.

Exceções

O evento não tem acesso público remove .

O handler que foi passado não pode ser usado.

O target parâmetro é null e o evento não é estático.

-ou-

Não EventInfo é declarado no alvo.

Nota: Em .NET para aplicações Windows Store ou a Portable Class Library, escolha Exception em vez disso.

O interlocutor não tem permissão de acesso ao membro.

Nota: Em .NET para aplicações Windows Store ou a Portable Class Library, apanhe a exceção da classe base, MemberAccessException, em vez disso.

Observações

Este método é semelhante ao EventInfo.RemoveEventHandler(Object, Delegate) método, exceto que permite desligar eventos de objetos COM.

Se target for um objeto COM, este método liberta um delegado para um evento usando o ComEventsHelper.Remove(Object, Guid, Int32, Delegate) método.

RemoveEventHandler facilita a cancelação do registo de sumidos de eventos COM que encaminham chamadas para delegados geridos correspondentes. Requer a seguinte informação:

  • O próprio objeto-alvo (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 desencadeia o evento correspondente (handler).

RemoveEventHandler procura a correspondente interface de fonte COM (especificada como o primeiro parâmetro do ComEventInterfaceAttribute.ComEventInterfaceAttribute(Type, Type) construtor). Depois, procura um método na interface de origem cujo nome é idêntico ao nome do evento. O valor de GuidAttribute na interface de origem é o GUID que é passado para ComEventsHelper.Remove(Object, Guid, Int32, Delegate); o valor de DispIDAttribute no método é o valor DispID que é passado para ComEventsHelper.Remove(Object, Guid, Int32, Delegate).

Aplica-se a