Moo*_*ice 20
我不完全确定你的意思,但如果你在谈论一个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
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
Mig*_*ell 17
我相信你所指的是一个事件的新EventHandler,而不是EventArgs.有两种简单的方法可以做到这一点.首先,您可以创建一个使用通用EventHandler的事件,这是使用新EventArgs类的最快捷,最简单的方法:
event EventHandler<MyEventArgs> sampleEvent;
Run Code Online (Sandbox Code Playgroud)
第二种方式几乎一样简单,从语法的角度来看可能更简洁,就是创建一个新的委托,它具有您想要的事件参数,您可以立即使用它:
delegate void MyEventHandler(object sender, MyEventArgs e);
event MyEventHandler sampleEvent;
Run Code Online (Sandbox Code Playgroud)
第二种方法将允许您稍后重用该处理程序.
| 归档时间: |
|
| 查看次数: |
33300 次 |
| 最近记录: |