Číst v angličtině

Sdílet prostřednictvím


EventArgs Třída

Definice

Představuje základní třídu pro třídy, které obsahují data událostí, a poskytuje hodnotu, která se má použít pro události, které nezahrnují data událostí.

public class EventArgs
[System.Serializable]
public class EventArgs
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class EventArgs
Dědičnost
EventArgs
Odvozené
Atributy

Příklady

Následující příklad ukazuje vlastní datovou třídu události s názvem ThresholdReachedEventArgs , která je odvozena z EventArgs třídy . Instance datové třídy události je předána obslužné rutině ThresholdReached události pro událost.

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

Poznámky

Tato třída slouží jako základní třída pro všechny třídy, které představují data událostí. Například System.AssemblyLoadEventArgs třída je odvozena z EventArgs a slouží k uchovávání dat pro události načtení sestavení. Chcete-li vytvořit vlastní datovou třídu události, vytvořte třídu, která je odvozena z EventArgs třídy a zadejte vlastnosti pro uložení potřebných dat. Název vaší vlastní datové třídy události by měl končit na EventArgs.

Pokud chcete předat objekt, který neobsahuje žádná data, použijte pole Empty .

Další informace o událostech najdete v článku Zpracování a vyvolávání událostí .

Konstruktory

EventArgs()

Inicializuje novou instanci EventArgs třídy.

Pole

Empty

Poskytuje hodnotu, která se má použít u událostí, které nemají data událostí.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

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

Viz také