Auslösen mehrerer Ereignisse
Aktualisiert: November 2007
Wenn die Klasse mehrere Ereignisse auslöst und Sie diese Ereignisse wie unter Auslösen eines Ereignisses beschrieben programmieren, generiert der Compiler ein Feld für jede Ereignisdelegatinstanz. Ist die Anzahl der Ereignisse sehr hoch, wird u. U. zu viel Speicher beansprucht, wenn für jeden Delegaten ein Feld generiert wird. Für diese Situationen stellt .NET Framework ein Konstrukt mit dem Namen Ereigniseigenschaften (benutzerdefinierte Ereignisse in Visual Basic 2005) bereit, die Sie zusammen mit einer weiteren (beliebig wählbaren) Datenstruktur zum Speichern von Ereignisdelegaten verwenden können.
Ereigniseigenschaften bestehen aus Ereignisdeklarationen, die von Ereignisaccessoren begleitet werden. Ereignisaccessoren sind von Ihnen definierte Methoden, mit denen Ereignisdelegatinstanzen der Speicherdatenstruktur hinzugefügt oder daraus entfernt werden können. Beachten Sie, dass Ereigniseigenschaften langsamer als Ereignisfelder sind, da jeder Ereignisdelegat abgerufen werden muss, bevor er aufgerufen werden kann. Sie müssen daher einen Kompromiss zwischen hoher Speicherauslastung und verminderter Geschwindigkeit finden. Wenn die Klasse viele Ereignisse definiert, die selten ausgelöst werden, können Sie Ereigniseigenschaften implementieren. Windows Forms-Steuerelemente und ASP.NET-Serversteuerelemente verwenden Ereigniseigenschaften anstelle von Ereignisfeldern.
Siehe auch
Aufgaben
Gewusst wie: Behandeln mehrerer Ereignisse mit Ereigniseigenschaften
Gewusst wie: Deklarieren von Ereignissen, die Speicherplatz sparen
Referenz
System.ComponentModel.EventHandlerList