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ı yer alı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ı birleştirir ve bu yansıma adımının bazı performans sonuçları vardır. Çağrılar, yansımaya bağlı kalmayarak 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ın 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öntemin, 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. Uygulama, sağlanan genericHandler
öğesini türe özgü temsilciye atamalı ve ardından bu işleyiciyi çağırmalıdır.
Varsayılan uygulama sağlanan işleyiciyi çağırmaya çalışır ve bunu olarak RoutedEventHandleratamaya çalışır. genericHandler
veya genericTarget
olarak null
sağlanırsa, özel durumlar oluşturulur.