C# 如何创建像EventArgs这样的自定义事件处理类
如何编写自定义事件处理类,如果有人知道如何创建自定义事件处理类,或者您知道关于此的任何好文章,请帮助我C# 如何创建像EventArgs这样的自定义事件处理类,c#,C#,如何编写自定义事件处理类,如果有人知道如何创建自定义事件处理类,或者您知道关于此的任何好文章,请帮助我 提前感谢我不完全确定您的意思,但如果您谈论的是EventArgs派生类: public class MyEventArgs : EventArgs { private string m_Data; public MyEventArgs(string _myData) { m_Data = _myData; } // eo ctor pu
提前感谢我不完全确定您的意思,但如果您谈论的是EventArgs派生类:
public class MyEventArgs : EventArgs
{
private string m_Data;
public MyEventArgs(string _myData)
{
m_Data = _myData;
} // eo ctor
public string Data {get{return m_Data} }
} // eo class MyEventArgs
public delegate void MyEventDelegate(MyEventArgs _args);
public class MySource
{
public void SomeFunction(string _data)
{
// raise event
if(OnMyEvent != null) // might not have handlers!
OnMyEvent(new MyEventArgs(_data));
} // eo SomeFunction
public event MyEventDelegate OnMyEvent;
} // eo class mySource
希望这能有所帮助。我相信您指的是事件的新事件处理程序,而不是EventArgs。有两种简单的方法可以做到这一点。首先,您可以创建一个使用通用EventHandler的事件,这是使用新EventArgs类的最快、最简单的方法:
event EventHandler<MyEventArgs> sampleEvent;
第二种方法将允许您以后重用处理程序。您可以这样声明事件:
public delegate void MyEventDelegate(...);
public static event MyEventDelegate MyEvent = delegate { };
然后,提出该事件:
MyEvent(...);
事件被初始化为匿名委托,以消除每次您想要引发事件时检查null的要求。google上有很多内容……这一个看起来非常好而且基本:“事件处理类”是什么?+1用于显示EventHandler声明事件的方式感谢通用事件处理程序解决方案。我正在寻找EvEnthDunter上的自定义构造函数,甚至没有考虑它是一个泛型类。问题解决了。
MyEvent(...);