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 jest null i zdarzenie nie jest statyczne.

— lub —

Element EventInfo nie jest zadeklarowany w obiekcie docelowym.

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

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ściów zdarzeń COM, które przesyłają wywołania do odpowiednich pełnomocników zarządzanych. Wymaga ona 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 będzie wywoływany, 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 interfejsu źródłowego to identyfikator GUID przekazywany do ComEventsHelper.Remove(Object, Guid, Int32, Delegate)metody . Wartość metody jest wartością DispIDAttribute DispID przekazywaną do ComEventsHelper.Remove(Object, Guid, Int32, Delegate)metody .

Dotyczy