RoutedEventArgs.InvokeEventHandler(Delegate, Object) RoutedEventArgs.InvokeEventHandler(Delegate, Object) RoutedEventArgs.InvokeEventHandler(Delegate, Object) RoutedEventArgs.InvokeEventHandler(Delegate, Object) Method

Definition

Ermöglicht beim Überschreiben in einer abgeleiteten Klasse das typspezifische Aufrufen von Ereignishandlern, wodurch die Effizienz gegenüber der Basisimplementierung verbessert werden kann.When overridden in a derived class, provides a way to invoke event handlers in a type-specific way, which can increase efficiency over the base implementation.

protected:
 virtual void InvokeEventHandler(Delegate ^ genericHandler, System::Object ^ genericTarget);
protected virtual void InvokeEventHandler (Delegate genericHandler, object genericTarget);
abstract member InvokeEventHandler : Delegate * obj -> unit
override this.InvokeEventHandler : Delegate * obj -> unit
Protected Overridable Sub InvokeEventHandler (genericHandler As Delegate, genericTarget As Object)

Parameter

genericHandler
Delegate Delegate Delegate Delegate

Die aufzurufende generische Handler- bzw. Delegatimplementierung.The generic handler / delegate implementation to be invoked.

genericTarget
Object Object Object Object

Das Ziel, für das der bereitgestellte Handler aufgerufen werden soll.The target on which the provided handler should be invoked.

Beispiele

Der folgende Code zeigt ein grundlegendes Muster, das für die Implementierung verwendet werden kann.The following is pseudocode that illustrates a basic pattern that can be used for implementation. Hier ist eine Unterklasse von RoutedEventHandler. MyRoutedEventHandlerHere, MyRoutedEventHandler is a subclass of RoutedEventHandler.

public class MyRoutedEventArgs : RoutedEventArgs 
{
// other members omitted
    protected override void InvokeEventHandler(Delegate genericHandler, object genericTarget) {
        MyRoutedEventHandler handler = (MyRoutedEventHandler) genericHandler;
        handler(genericTarget, this);
    }
}
Public Class MyRoutedEventArgs
    Inherits RoutedEventArgs
' other members omitted
    Protected Overrides Sub InvokeEventHandler(ByVal genericHandler As System.Delegate, ByVal genericTarget As Object)
        Dim handler As MyRoutedEventHandler = CType(genericHandler, MyRoutedEventHandler)
        handler(genericTarget, Me)
    End Sub
End Class

Hinweise

Die Basis Implementierung schließt Reflektion ein, um den richtigen Handler für alle Fälle zu ermitteln, in RoutedEventHandlerdenen der Handler nicht buchstäblich ist, und dieser reflektionsschritt hat einige Leistungs Konsequenzen.The base implementation incorporates reflection to determine the right handler for any case where the handler is not literally RoutedEventHandler, and this reflection step does have some performance consequences. Aufrufe können effizienter gemacht werden, da Sie sich nicht auf Reflektion verlassen.Invocations can be made more efficient by not relying on reflection. Dies ist das Szenario, in dem diese Methode für alle Routing Ereignis Argument-Klassen verfügbar ist, die Sie überschreiben möchten.This is the scenario that motivates this method being available for any routed event arguments class that choose to override it. Implementierungen sollten die Basis für diese Methode nicht aufrufen, da ihre Implementierung bereits für das Aufrufen der typsicheren Handler zuständig ist.Implementations should not call the base for this method, because your implementation should already be responsible for invoking the type safe handlers.

Hinweise für Vererber

Diese Methode ist dafür vorgesehen, von abgeleiteten Ereignisdaten Klassen überschrieben zu werden, um einen effizienteren Aufruf ihrer Delegaten bereitzustellen.This method is intended to be overridden by derived event data classes to provide more efficient invocation of their delegates. Die-Implementierung muss die bereit genericHandler gestellte in den typspezifischen Delegaten umwandeln und dann diesen Handler aufrufen.The implementation should cast the provided genericHandler to the type-specific delegate, and then invoke that handler.

Die Standard Implementierung versucht, den bereitgestellten Handler aufzurufen, wobei versucht wird, RoutedEventHandlerihn als umzuwandeln.The default implementation will attempt to invoke the provided handler, attempting to cast it as RoutedEventHandler. Wenn entweder genericHandler oder genericTarget als nullangegeben wird, werden Ausnahmen ausgelöst.If either genericHandler or genericTarget is provided as null, exceptions will be raised.

Gilt für: