Jak: implementovat vlastní události přístupové objekty (Příručka programování C#)
Událost je zvláštní druh vícesměrového vysílání delegát, který lze vyvolat pouze z v rámci třídy, která je deklarována v.Klientský kód přihlásí k události pomocí referenční metody, která by měla být vyvolán při vyvolání události.Tyto metody jsou přidány do seznamu vyvolání delegáta prostřednictvím přístupové objekty událostí, které se podobají přístupové objekty vlastnosti kromě toho, že přístupové objekty událostí jsou pojmenovány add a remove.Ve většině případů není nutné poskytnout přístup prostřednictvím vlastní události.Žádné vlastní události přístupové objekty jsou dodávány v kódu, kompilátor přidá jim automaticky.V některých případech pravděpodobně však poskytují vlastní chování.Jeden případ je uveden v tématu Jak: implementace rozhraní události (Příručka programování C#).
Příklad
Následující příklad ukazuje, jak implementovat vlastní přidat a odebrat přístupové objekty událostí.Přestože lze nahradit libovolný kód uvnitř přístupové objekty, doporučujeme uzamčení událostí před přidat nebo odebrat nové metody zpracování události.
event EventHandler IDrawingObject.OnDraw
{
add
{
lock (PreDrawEvent)
{
PreDrawEvent += value;
}
}
remove
{
lock (PreDrawEvent)
{
PreDrawEvent -= value;
}
}
}