Auf Englisch lesen

Freigeben über


EventArgs Klasse

Definition

Stellt die Basisklasse für Klassen dar, die Ereignisdaten enthalten, und stellt einen Wert für Ereignisse bereit, die keine Daten enthalten.

C#
public class EventArgs
C#
[System.Serializable]
public class EventArgs
C#
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class EventArgs
Vererbung
EventArgs
Abgeleitet
Attribute

Beispiele

Das folgende Beispiel zeigt eine benutzerdefinierte Ereignisdatenklasse namens ThresholdReachedEventArgs , die von der EventArgs -Klasse abgeleitet wird. Eine Instanz der Ereignisdatenklasse wird an den Ereignishandler für das ThresholdReached Ereignis übergeben.

C#
using System;

namespace ConsoleApplication3
{
    public class Program3
    {
        public static void Main()
        {
            Counter c = new(new Random().Next(10));
            c.ThresholdReached += c_ThresholdReached;

            Console.WriteLine("press 'a' key to increase total");
            while (Console.ReadKey(true).KeyChar == 'a')
            {
                Console.WriteLine("adding one");
                c.Add(1);
            }
        }

        static void c_ThresholdReached(object? sender, ThresholdReachedEventArgs e)
        {
            Console.WriteLine("The threshold of {0} was reached at {1}.", e.Threshold,  e.TimeReached);
            Environment.Exit(0);
        }
    }

    class Counter
    {
        private readonly int _threshold;
        private int _total;

        public Counter(int passedThreshold)
        {
            _threshold = passedThreshold;
        }

        public void Add(int x)
        {
            _total += x;
            if (_total >= _threshold)
            {
                ThresholdReachedEventArgs args = new()
                {
                    Threshold = _threshold,
                    TimeReached = DateTime.Now
                };
                OnThresholdReached(args);
            }
        }

        protected virtual void OnThresholdReached(ThresholdReachedEventArgs e)
        {
            ThresholdReached?.Invoke(this, e);
        }

        public event EventHandler<ThresholdReachedEventArgs>? ThresholdReached;
    }

    public class ThresholdReachedEventArgs : EventArgs
    {
        public int Threshold { get; set; }
        public DateTime TimeReached { get; set; }
    }
}

Hinweise

Diese Klasse dient als Basisklasse für alle Klassen, die Ereignisdaten darstellen. Die -Klasse leitet sich beispielsweise von ab EventArgs und wird verwendet, System.AssemblyLoadEventArgs um die Daten für Assemblyladeereignisse aufzunehmen. Um eine benutzerdefinierte Ereignisdatenklasse zu erstellen, erstellen Sie eine Klasse, die von der EventArgs -Klasse abgeleitet ist, und stellen Sie die Eigenschaften zum Speichern der erforderlichen Daten bereit. Der Name Ihrer benutzerdefinierten Ereignisdatenklasse sollte mit enden EventArgs.

Verwenden Sie das Feld, um ein Objekt zu übergeben, das Empty keine Daten enthält.

Weitere Informationen zu Ereignissen finden Sie im Artikel Behandeln und Auslösen von Ereignissen .

Konstruktoren

EventArgs()

Initialisiert eine neue Instanz der EventArgs-Klasse.

Felder

Empty

Stellt einen zu verwendenden Wert für Ereignisse, die keine Ereignisdaten haben.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Weitere Informationen