Ler em inglês

Compartilhar via


EventArgs Classe

Definição

Representa a classe base das classes que contêm dados de evento e fornece um valor a ser usado para eventos que não incluem dados de evento.

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

Exemplos

O exemplo a seguir mostra uma classe de dados de evento personalizada chamada ThresholdReachedEventArgs que deriva da EventArgs classe . Uma instância da classe de dados de evento é passada para o manipulador de eventos do 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; }
    }
}

Comentários

Essa classe serve como a classe base para todas as classes que representam dados de evento. Por exemplo, a System.AssemblyLoadEventArgs classe deriva de EventArgs e é usada para armazenar os dados para eventos de carregamento de assembly. Para criar uma classe de dados de evento personalizada, crie uma classe derivada da EventArgs classe e forneça as propriedades para armazenar os dados necessários. O nome da classe de dados de evento personalizado deve terminar com EventArgs.

Para passar um objeto que não contém dados, use o Empty campo .

Para obter mais informações sobre eventos, consulte o artigo Manipulação e geração de eventos .

Construtores

EventArgs()

Inicializa uma nova instância da classe EventArgs.

Campos

Empty

Fornece um valor para ser usado com eventos que não têm dados de evento.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também