Share via


Auslösen mehrerer Ereignisse

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 benutzerdefinierten Ereignissen, um Speicherplatz zu sparen (Visual Basic)

Referenz

System.ComponentModel.EventHandlerList

System.Web.UI.Control.Events

Weitere Ressourcen

Behandeln und Auslösen von Ereignissen