Udostępnij za pośrednictwem


ComAwareEventInfo.RemoveEventHandler(Object, Delegate) Metoda

Definicja

Odłącza program obsługi zdarzeń od obiektu 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)

Parametry

target
Object

Obiekt docelowy, do którego jest powiązany delegat zdarzenia.

handler
Delegate

Delegat zdarzenia.

Atrybuty

Wyjątki

Zdarzenie nie ma publicznego remove dostępu.

Nie można użyć procedury obsługi, która została przekazana.

Parametr target to null i zdarzenie nie jest statyczne.

-lub-

Obiekt EventInfo nie jest zadeklarowany w obiekcie docelowym.

Uwaga: w programie .NET dla aplikacji ze Sklepu Windows lub w bibliotece klas przenośnych przechwyć Exception zamiast tego.

Obiekt wywołujący nie ma uprawnień dostępu do członka.

Uwaga: na platformie .NET dla aplikacji ze Sklepu Windows lub biblioteki klas przenośnych przechwyć wyjątek klasy bazowej , MemberAccessExceptionzamiast tego.

Uwagi

Ta metoda jest podobna EventInfo.RemoveEventHandler(Object, Delegate) do metody , z tą różnicą, że umożliwia odłączanie zdarzeń od obiektów COM.

Jeśli target jest obiektem COM, ta metoda zwalnia delegata do zdarzenia przy użyciu ComEventsHelper.Remove(Object, Guid, Int32, Delegate) metody .

RemoveEventHandler ułatwia wyrejestrowywanie ujść zdarzeń COM, które przekazują wywołania do odpowiednich zarządzanych delegatów. Wymaga to następujących informacji:

  • Sam obiekt docelowy (target).

  • Identyfikator GUID interfejsu źródłowego.

  • DispID metody w interfejsie COM, który odpowiada określonemu zdarzeniu.

  • Delegat, który zostanie wywołany, gdy obiekt COM wyzwala odpowiednie zdarzenie (handler).

RemoveEventHandler wyszukuje odpowiedni interfejs źródłowy MODELU COM (określony jako pierwszy parametr konstruktora ComEventInterfaceAttribute.ComEventInterfaceAttribute(Type, Type) ). Następnie wyszukuje metodę w interfejsie źródłowym, którego nazwa jest identyczna z nazwą zdarzenia. Wartość GuidAttribute w interfejsie źródłowym to identyfikator GUID przekazywany do ComEventsHelper.Remove(Object, Guid, Int32, Delegate)metody . Wartość DispIDAttribute metody to wartość DispID przekazywana do ComEventsHelper.Remove(Object, Guid, Int32, Delegate)metody .

Dotyczy