Leer en inglés

Compartir a través de


EventArgs Clase

Definición

Representa la clase base para las clases que contienen datos de eventos, y proporciona un valor que se utilizará para eventos que no incluyen datos de eventos.

public class EventArgs
[System.Serializable]
public class EventArgs
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class EventArgs
Herencia
EventArgs
Derivado
Atributos

Ejemplos

En el ejemplo siguiente se muestra una clase de datos de eventos personalizada denominada ThresholdReachedEventArgs que deriva de la EventArgs clase . Se pasa una instancia de la clase de datos de eventos al controlador de eventos para el ThresholdReached evento.

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

Comentarios

Esta clase actúa como clase base para todas las clases que representan datos de eventos. Por ejemplo, la System.AssemblyLoadEventArgs clase se deriva de EventArgs y se usa para contener los datos de los eventos de carga de ensamblados. Para crear una clase de datos de eventos personalizada, cree una clase que derive de la EventArgs clase y proporcione las propiedades para almacenar los datos necesarios. El nombre de la clase de datos de eventos personalizada debe terminar con EventArgs.

Para pasar un objeto que no contiene ningún dato, use el Empty campo .

Para obtener más información sobre los eventos, consulte el artículo Control y generación de eventos .

Constructores

EventArgs()

Inicializa una nueva instancia de la clase EventArgs.

Campos

Empty

Proporciona un valor para utilizar con los eventos que no tienen datos de eventos.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Producto Versiones
.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
.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

Consulte también