0

我正在尝试了解事件,并且我的任务是创建从 EventArgs 派生的 EventArgs 信息类。我不确定这意味着什么以及我应该怎么做?

4

3 回答 3

2

事件参数用于传递有关已触发事件的附加信息,例如已更改的值或项目的 ID。事件处理程序的签名包含 asenderEventArgs

由于EventArgs非常空,您通常实现自己的类:

public event EventHandler<FooEventArgs> Foo; // produces handler(object sender, FooEventArgs e)

public sealed class FooEventArgs : EventArgs
{
    public FooEventArgs(int bar)
    {
        this.Bar = bar;
    }

    public int Bar { get; private set; }
}

这只是一个普通的子类,就像您在其他任何地方创建的一样。如果您不需要传递更多信息,请使用EventArgs.Empty(静态字段)。

于 2012-08-09T08:22:44.697 回答
1

尝试这个

public class EventArgsInfo : EventArgs
{
  public string MyCustomProperty { get;set; }
}
于 2012-08-09T08:19:18.470 回答
0

EventArgs表示带有给事件的参数的类型(因此得名)。

标准 EventArgs 类型包含最少的信息(甚至可能没有)。最佳实践是创建您自己的继承(对于您创建的每个自定义事件)并根据您对特定事件的需要扩展参数。

有关详细信息,请查看有关 EventArgs 类的MSDN 文档。它包含一个很好的示例,说明如何EventArgs创建和使用自定义类。

于 2012-08-09T08:20:52.987 回答