Sdílet prostřednictvím


Vyvolání více událostí

Pokud vaše třída vyvolá více událostí a naprogramujete je jak je popsáno v tématu Vyvolávání událostí, kompilátor vygeneruje jedno pole pro každou instanci delegáta události. Pokud je počet událostí velký, mohou být náklady na uložení jednoho pole pro každého delegáta nepřijatelné. Pro tyto situace rozhraní .NET Framework poskytuje konstrukce, které se nazývají vlastnosti událostí (vlastní události ve Visual Basic 2005), které můžete použít společně s jinou datovou strukturou (podle vašeho výběru) k ukládání delegátů událostí.

Vlastnosti událostí se skládají z deklarace události společně s přístupovými objekty události. Přístupové objekty událostí jsou metody, které definujete, abyste povolili instancím delegátů událostí, aby byly přidány nebo odebrány datové struktury úložiště. Všimněte si, že vlastnosti událostí jsou pomalejší než pole události, protože každý delegát události musí být načten dříve, než může být vyvolán. Nutný kompromis je mezi pamětí a rychlostí. Pokud vaše třída definuje mnoho událostí, které jsou vyvolávány jen zřídka, měli byste implementovat vlastnosti událostí. Ovládací prvky modelu Windows Forms a ovládací prvky technologie ASP.NET server používají vlastnosti událostí místo pole událostí.

Viz také

Úkoly

Postupy: Zpracovat více událostí pomocí vlastností události

How to: Declare Events That Conserve Memory Use

Odkaz

System.ComponentModel.EventHandlerList

System.Web.UI.Control.Events

Další zdroje

Zpracování a vyvolávání událostí