c#

c#中eventhandler怎么添加自定义参数

小亿
208
2024-03-02 15:34:29
栏目: 编程语言

在C#中,如果想在EventHandler中添加自定义参数,可以通过自定义一个EventArgs类来实现。以下是一个示例:

using System;

public class CustomEventArgs : EventArgs
{
    public string CustomParameter { get; set; }

    public CustomEventArgs(string customParameter)
    {
        CustomParameter = customParameter;
    }
}

public class MyClass
{
    public event EventHandler<CustomEventArgs> CustomEvent;

    public void OnCustomEvent(string customParameter)
    {
        CustomEvent?.Invoke(this, new CustomEventArgs(customParameter));
    }
}

public class Program
{
    public static void Main()
    {
        MyClass myClass = new MyClass();
        myClass.CustomEvent += HandleCustomEvent;

        myClass.OnCustomEvent("Hello, World!");
    }

    public static void HandleCustomEvent(object sender, CustomEventArgs e)
    {
        Console.WriteLine("Custom Event Handler invoked with parameter: " + e.CustomParameter);
    }
}

在上面的示例中,自定义了一个CustomEventArgs类,其中包含一个CustomParameter属性用于存储自定义参数。然后在MyClass类中声明了一个EventHandler事件,并将其泛型参数指定为CustomEventArgs。在触发事件时,通过new CustomEventArgs(customParameter)来创建一个CustomEventArgs对象,并将其传递给事件的触发方法Invoke。在事件处理程序HandleCustomEvent中,可以通过e.CustomParameter来访问传递的自定义参数。

0
看了该问题的人还看了