ComAwareEventInfo.RemoveEventHandler(Object, Delegate) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Trennt einen Ereignishandler von einem COM-Objekt.
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)
Parameter
- target
- Object
Das Zielobjekt, an das der Ereignisdelegat gebunden ist.
- handler
- Delegate
Der Ereignisdelegat.
- Attribute
Ausnahmen
Das Ereignis besitzt keinen öffentlichen remove
-Accessor.
Der übergebene Handler kann nicht verwendet werden.
Der target
-Parameter ist null
, und das Ereignis ist nicht statisch.
- oder -
Die EventInfo ist im Ziel nicht deklariert.
Hinweis: In .NET für Windows Store-Apps oder der portablen Klassenbibliothek sollten Sie stattdessen abfangen Exception .
Der Aufrufer verfügt nicht über Zugriffsberechtigung für diesen Member.
Hinweis: Erfassen Sie in .NET für Windows Store-Apps oder der portablen Klassenbibliothek stattdessen die Basisklassen-Ausnahme MemberAccessException.
Hinweise
Diese Methode ähnelt der Methode, mit der EventInfo.RemoveEventHandler(Object, Delegate) Ausnahme, dass Sie Ereignisse von COM-Objekten trennen können.
Wenn target
es sich um ein COM-Objekt handelt, gibt diese Methode mithilfe der ComEventsHelper.Remove(Object, Guid, Int32, Delegate) -Methode einen Delegaten für ein Ereignis frei.
RemoveEventHandler erleichtert das Aufheben der Registrierung von COM-Ereignissenken, die Aufrufe an entsprechende verwaltete Delegaten weiterleiten. Hierfür sind die folgenden Informationen erforderlich:
Das Zielobjekt selbst (
target
).Die GUID der Quellschnittstelle.
Die DispID der -Methode auf der COM-Schnittstelle, die dem angegebenen Ereignis entspricht.
Der Delegat, der aufgerufen wird, wenn das COM-Objekt das entsprechende Ereignis (
handler
) auslöst.
RemoveEventHandler sucht die entsprechende COM-Quellschnittstelle (angegeben als erster Parameter des ComEventInterfaceAttribute.ComEventInterfaceAttribute(Type, Type) Konstruktors). Anschließend sucht es eine Methode auf der Quellschnittstelle, deren Name mit dem Ereignisnamen identisch ist. Der Wert von GuidAttribute
für die Quellschnittstelle ist die GUID, die an ComEventsHelper.Remove(Object, Guid, Int32, Delegate)übergeben wird. Der Wert von DispIDAttribute
für die -Methode ist der DispID-Wert, der an ComEventsHelper.Remove(Object, Guid, Int32, Delegate)übergeben wird.