ComAwareEventInfo.RemoveEventHandler(Object, Delegate) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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).