EventArgs.Empty 字段


提供要用于没有事件数据的事件的值。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 : EventArgs
Public Shared ReadOnly Empty As EventArgs 




下面的示例演示了一个简单的计数应用程序,该应用程序在阈值为越或超过阈值时引发事件。The following example shows a simple counting application that raises an event when a threshold is equaled or exceeded. Empty 字段将传递给 OnThresholdReached 方法。The Empty field is passed to the OnThresholdReached method.

using System;

namespace ConsoleApplication1
    class Program
        static void Main(string[] args)
            Counter c = new Counter(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");

        static void c_ThresholdReached(object sender, EventArgs e)
            Console.WriteLine("The threshold was reached.");

    class Counter
        private int threshold;
        private int total;

        public Counter(int passedThreshold)
            threshold = passedThreshold;

        public void Add(int x)
            total += x;
            if (total >= threshold)

        protected virtual void OnThresholdReached(EventArgs e)
            EventHandler handler = ThresholdReached;
            if (handler != null)
                handler(this, e);

        public event EventHandler ThresholdReached;
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")
        End While
    End Sub

    Sub c_ThresholdReached(sender As Object, e As EventArgs)
        Console.WriteLine("The threshold was reached.")
    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
        End If
    End Sub

    Protected Overridable Sub OnThresholdReached(e As EventArgs)
        RaiseEvent ThresholdReached(Me, e)
    End Sub

    Public Event ThresholdReached As EventHandler
End Class


将此值传递给与没有数据的事件关联的事件处理程序。Pass this value to event handlers that are associated with events that do not have data.