C#でのeventargsの値の与え方はどうですか。

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のサブクラスを直接使用するか、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に異なる値を割り当て、それをイベントの処理プログラムに渡すことができます。

bannerAds