Delen via


Aangepaste gebeurtenistoegangsors implementeren (C#-programmeerhandleiding)

Een gebeurtenis is een speciaal soort multicast-gemachtigde die alleen kan worden aangeroepen vanuit de klasse waarin deze is gedeclareerd. Clientcode abonneert zich op de gebeurtenis door een verwijzing naar een methode op te geven die moet worden aangeroepen wanneer de gebeurtenis wordt geactiveerd. Deze methoden worden toegevoegd aan de aanroeplijst van de gemachtigde via gebeurtenistoegangsors, die lijken op eigenschapstoegangsors, behalve dat gebeurtenistoegangsors een naam add hebben en remove. In de meeste gevallen hoeft u geen aangepaste gebeurtenistoegangsors op te geven. Wanneer er geen aangepaste gebeurtenistoegangsors in uw code worden opgegeven, worden deze automatisch door de compiler toegevoegd. In sommige gevallen moet u echter mogelijk aangepast gedrag opgeven. Een dergelijk geval wordt weergegeven in het onderwerp Interface-gebeurtenissen implementeren.

Opmerking

In het volgende voorbeeld ziet u hoe u aangepaste toegangsbeheer voor toevoegen en verwijderen implementeert. Hoewel u code in de accessors kunt vervangen, raden we u aan de gebeurtenis te vergrendelen voordat u een nieuwe gebeurtenis-handlermethode toevoegt of verwijdert.

event EventHandler IDrawingObject.OnDraw
{
    add
    {
        lock (objectLock)
        {
            PreDrawEvent += value;
        }
    }
    remove
    {
        lock (objectLock)
        {
            PreDrawEvent -= value;
        }
    }
}

Zie ook