Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


EventArgs Klasa

Definicja

Reprezentuje klasę bazową dla klas zawierających dane zdarzenia i udostępnia wartość do użycia dla zdarzeń, które nie zawierają danych zdarzeń.

C#
public class EventArgs
C#
[System.Serializable]
public class EventArgs
C#
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class EventArgs
Dziedziczenie
EventArgs
Pochodne
Atrybuty

Przykłady

W poniższym przykładzie przedstawiono niestandardową klasę danych zdarzeń o nazwie ThresholdReachedEventArgs , która pochodzi z EventArgs klasy . Wystąpienie klasy danych zdarzenia jest przekazywane do procedury obsługi zdarzeń ThresholdReached dla zdarzenia.

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; }
    }
}

Uwagi

Ta klasa służy jako klasa bazowa dla wszystkich klas reprezentujących dane zdarzenia. Na przykład System.AssemblyLoadEventArgs klasa pochodzi z EventArgs klasy i jest używana do przechowywania danych dla zdarzeń ładowania zestawu. Aby utworzyć niestandardową klasę danych zdarzeń, utwórz klasę pochodzącą z EventArgs klasy i podaj właściwości do przechowywania niezbędnych danych. Nazwa niestandardowej klasy danych zdarzeń powinna kończyć się ciągiem EventArgs.

Aby przekazać obiekt, który nie zawiera żadnych danych, użyj Empty pola.

Aby uzyskać więcej informacji na temat zdarzeń, zobacz artykuł Obsługa i podnoszenie zdarzeń .

Konstruktory

EventArgs()

Inicjuje nowe wystąpienie klasy EventArgs.

Pola

Empty

Udostępnia wartość do użycia z zdarzeniami, które nie mają danych zdarzeń.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Produkt Wersje
.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

Zobacz też