Dela via


Så här implementerar du anpassade händelseåtkomster (C#-programmeringsguide)

En händelse är en särskild typ av multicast-ombud som bara kan anropas inifrån den klass som den deklareras i. Klientkoden prenumererar på händelsen genom att ange en referens till en metod som ska anropas när händelsen utlöses. Dessa metoder läggs till i ombudets anropslista via händelseåtkomster, som liknar egenskapsåtkomster, förutom att händelseåtkomster heter add och remove. I de flesta fall behöver du inte ange anpassade händelseåtkomster. När inga anpassade händelseåtkomster anges i koden lägger kompilatorn till dem automatiskt. I vissa fall kan du dock behöva ange anpassat beteende. Ett sådant fall visas i avsnittet Så här implementerar du gränssnittshändelser.

Exempel

I följande exempel visas hur du implementerar anpassade tilläggs- och ta bort händelseåtkomster. Även om du kan ersätta valfri kod i accessorerna rekommenderar vi att du låser händelsen innan du lägger till eller tar bort en ny händelsehanterarmetod.

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

Se även