RoutedEventArgs.InvokeEventHandler(Delegate, Object) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Türetilmiş bir sınıfta geçersiz kılındığında, olay işleyicilerini türe özgü bir şekilde çağırmanın bir yolunu sağlar ve bu da temel uygulama üzerindeki verimliliği artırabilir.
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)
Parametreler
- genericHandler
- Delegate
Çağrılacak genel işleyici / temsilci uygulaması.
- genericTarget
- Object
Sağlanan işleyicinin çağrılacağı hedef.
Örnekler
Aşağıda, uygulama için kullanılabilecek temel bir deseni gösteren sahte kod yer alır. Burada, MyRoutedEventHandler öğesinin bir alt sınıfıdır 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
Açıklamalar
Temel uygulama, işleyicinin tam anlamıyla RoutedEventHandlerolmadığı her durumda doğru işleyiciyi belirlemek için yansımayı içerir ve bu yansıma adımının bazı performans sonuçları vardır. Çağırmalar, yansımaya bağlı olmayarak daha verimli hale getirilebilir. Bu, bu yöntemi geçersiz kılmayı seçen yönlendirilmiş olay bağımsız değişkenleri sınıfı için kullanılabilir olmaya teşvik eden senaryodur. Uygulamanız türü güvenli işleyicileri çağırmaktan zaten sorumlu olması gerektiğinden, uygulamalar bu yöntemin tabanını çağırmamalıdır.
Devralanlara Notlar
Bu yöntem, temsilcilerinin daha verimli çağrılmasını sağlamak için türetilmiş olay veri sınıfları tarafından geçersiz kılınması amaçlanmıştır. Uygulamanın sağlanan genericHandler öğesini türe özgü temsilciye ataması ve ardından bu işleyiciyi çağırması gerekir.
Varsayılan uygulama sağlanan işleyiciyi çağırmaya çalışır ve bunu olarak RoutedEventHandleratamaya çalışır.
genericHandler veya genericTarget olarak nullsağlanırsa, özel durumlar tetiklenir.