1. 理解自定义事件与事件参数
1.1 参数对象定义
Class:HelloEventArgs
1. 派生EventArgs
2. 字段定义
3. 构造函数:HelloEventArgs(T field1,T field2,…,T fieldn);
1.2 实体对象定义
功能:creates the eventargs and initiates the event
1. 定义事件代理规范
Events are handled with delegates,so we must establish a (handler name) as a delegate:
Public void delegate WriteEventHandler(object sender, HelloEventArgs e);
2. 定义事件对象
Now, create a public event "WriteEvent" whose type is our WriteEventHandler delegate.
Public WriteEventHandler WriteEvent;
3. 对象调用事件的接口:初始化事件参数,执行事件
public void ActivateWriter(string _when)
{
HelloEventArgs e = new HelloEventArgs(_when);
if (WriteEvent != null)
{
WriteEvent(this, e);
}
}
1.3 处理方法对象
功能:对要给予事件定义的对象绑定事件的方法。
1. 构造函数:参数包括给予的对象,是为该对象定义事件链和事件处理的方法
public WriteHandler(Writer w)
{
w.WriteEvent += new Writer.WriterEventHandler(w_WriteEvent);
}
2. 事件处理的方法定义
void w_WriteEvent(object sender, HelloEventArgs e)
{//处理的内容//}
1.4 应用
定义实体对象 Writer w = new Writer();
绑定实体对象处理方法 WriteHandler wh = new WriteHandler(w);
实体对象激活事件 w.ActivateWriter(System.DateTime.Now.ToLongTimeString());
1.5 图解自定义事件使用