ein Projekt von goloroden.de

event

Allgemeines

Kennzeichnet ein Ereignis.

Beipiel

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System;

namespace GoloRoden.GuideToCSharp
{
    /// <summary>
    /// Represents an example delegate.
    /// </summary>
    /// <param name="sender">The sender.</param>
    /// <param name="eventArguments">The event
    /// arguments.</param>
    public delegate void MyDelegate(
        object sender, EventArgs eventArguments);

    /// <summary>
    /// Represents a foo class.
    /// </summary>
    public class Foo
    {
        /// <summary>
        /// Represents an event.
        /// </summary>
        public event MyDelegate MyEvent;

        /// <summary>
        /// Raises the event.
        /// </summary>
        public void OnMyEvent()
        {
            // If there are any event handlers attached,
            // raise the event.
            if (MyEvent != null)
            {
                MyEvent(this, new EventArgs());
            }
        }
    }
}

Details

Ereignisse entsprechen intern einem Delegaten, an den mehrere Methoden angehängt werden können. Im Unterschied zu einem Delegaten ist ein Ereignis nur aus der Klasse heraus aufrufbar, in der das Ereignis definiert ist.

Neben objektgebundenen Ereignissen können auch klassengebundene Ereignisse definiert werden, indem das Ereignis zusätzlich mit dem Schlüsselwort static gekennzeichnet wird.

Ereignisse können zudem mit den Schlüsselwörtern abstract, sealed und virtual gekennzeichnet werden. Es gibt keine Einschränkung hinsichtlich der verfügbaren Zugriffsmodifizierer.

Siehe auch (Referenz)

Siehe auch (Guide)