EventArgs.Empty Field  
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides a value to use with events that do not have event data.
public: static initonly EventArgs ^ Empty;public static readonly EventArgs Empty; staticval mutable Empty : EventArgsPublic Shared ReadOnly Empty As EventArgs Field Value
Examples
The following example shows a simple counting application that raises an event when a threshold is equaled or exceeded. The Empty field is passed to the OnThresholdReached method.
using System;
namespace ConsoleApplication1
{
    public class Program1
    {
        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, EventArgs e)
        {
            Console.WriteLine("The threshold was reached.");
            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)
            {
                OnThresholdReached(EventArgs.Empty);
            }
        }
        protected virtual void OnThresholdReached(EventArgs e)
        {
            ThresholdReached?.Invoke(this, e);
        }
        public event EventHandler? ThresholdReached;
    }
}
open System
type Counter(threshold) =
    let mutable total = 0
    let thresholdReached = Event<_>()
    member this.Add(x) =
        total <- total + x
        if total >= threshold then
            thresholdReached.Trigger(this, EventArgs.Empty)
    [<CLIEvent>]
    member _.ThresholdReached = thresholdReached.Publish
let c_ThresholdReached(sender, arg) =
    printfn "The threshold was reached."
    exit 0
let c = Counter(Random().Next 10)
c.ThresholdReached.Add c_ThresholdReached
printfn "press 'a' key to increase total"
while Console.ReadKey(true).KeyChar = 'a' do
    printfn "adding one"
    c.Add 1
Module Module1
    Sub Main()
        Dim c As Counter = New Counter(New Random().Next(10))
        AddHandler c.ThresholdReached, AddressOf c_ThresholdReached
        Console.WriteLine("press 'a' key to increase total")
        While Console.ReadKey(True).KeyChar = "a"
            Console.WriteLine("adding one")
            c.Add(1)
        End While
    End Sub
    Sub c_ThresholdReached(sender As Object, e As EventArgs)
        Console.WriteLine("The threshold was reached.")
        Environment.Exit(0)
    End Sub
End Module
Class Counter
    Private threshold As Integer
    Private total As Integer
    Public Sub New(passedThreshold As Integer)
        threshold = passedThreshold
    End Sub
    Public Sub Add(x As Integer)
        total = total + x
        If (total >= threshold) Then
            OnThresholdReached(EventArgs.Empty)
        End If
    End Sub
    Protected Overridable Sub OnThresholdReached(e As EventArgs)
        RaiseEvent ThresholdReached(Me, e)
    End Sub
    Public Event ThresholdReached As EventHandler
End Class
Remarks
Pass this value to event handlers that are associated with events that do not have data.