Linux 拨号vps windows公众号手机端

C#中的eventargs怎么赋值

lewis 8年前 (2017-06-02) 阅读数 7 #程序编程
文章标签 c#

在C#中,可以通过以下几种方式为EventArgs赋值:

  1. 使用自定义的EventArgs子类:可以创建一个继承自EventArgs的子类,然后在子类中添加需要的属性和方法。然后在触发事件时,实例化该子类并将其作为参数传递给事件的处理程序。
public class CustomEventArgs : EventArgs
{
    public string Message { get; set; }
}

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

    public void TriggerEvent()
    {
        // 实例化CustomEventArgs并赋值
        var args = new CustomEventArgs { Message = "Hello World!" };

        // 触发事件,并传递args作为参数
        MyEvent?.Invoke(this, args);
    }
}
  1. 使用内置的EventArgs子类:在某些情况下,可以直接使用内置的EventArgs子类,如EmptyEventArgs,或者使用派生自内置EventArgs的子类,如PropertyChangedEventArgs。这些子类通常包含一些预定义的属性,可以直接使用或设置。
public class MyClass
{
    public event EventHandler<EventArgs> MyEvent;

    public void TriggerEvent()
    {
        // 触发事件,并传递空的EventArgs对象作为参数
        MyEvent?.Invoke(this, EventArgs.Empty);
    }
}
  1. 匿名类型:在某些情况下,可以使用匿名类型为EventArgs赋值。匿名类型是一种临时的、只读的类型,可以通过初始化器来创建,并且可以直接赋值给EventArgs参数。
public class MyClass
{
    public event EventHandler<EventArgs> MyEvent;

    public void TriggerEvent()
    {
        // 使用匿名类型为EventArgs赋值
        var args = new { Message = "Hello World!" };

        // 触发事件,并传递args作为参数
        MyEvent?.Invoke(this, args);
    }
}

无论使用哪种方式,都可以为EventArgs赋予不同的值,并将其传递给事件的处理程序。

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门