谁能帮我解释一下这句话的意思,和一些相关知识,我没这么用过。
public event EventHandler<NetBarServerDataReceiveEventArgs> DataReceive;
public event EventHandler<NetBarServerDataReceiveEventArgs> DataReceive;
解决方案 »
- 请教下vs设置的问题.很简单的,望大侠解答.
- ASP.NET页面跳转到FLEX页面应该怎么做?
- 【Win】 如何使窗体的大小比屏幕的大小更大。
- 求正则表达式
- 郁闷: 为什么加了<link href="../../StyleVbt.css" type="text/css" rel=stylesheet >这个后会刷新两次
- 一个外键可以对应多个主键吗
- 循环截取全角半角字条串转换为DataTable的问题
- Ms Sql 2005 Beta2 原版下载,请UP取分
- c#中函数如何给richtextbox传值
- 字符串转Lambda表达式
- 3dmax中的数据转换格式
- 增加控件的时候说:不允许有子节点说是web.config有问题
这是一个泛型的事件委托定义,一般来说上面这种写法是用来定义某些需要外部处理的事件委托;
这里的委托相当于C++中的CALLBACK函数。
比如说该事件在A类中定义如下:
public class NetBarServerDataReceiveEventArgs:EventArgs
{
...
}
public class A
{
public event EventHandler <NetBarServerDataReceiveEventArgs> DataReceive;
....
//在需要通知DataReceive事件时会调用下面的函数
private void OnNetBarServerDataReceived()
{
if(this.DataReceive != null)
{
this.DataReceive(this, new NetBarServerDataReceiveEventArgs());
}
}
}如果外部使用者对DataReceive感兴趣则会挂接该事件:
class objA = new A();
a.DataReceive += new EventHandler<NetBarServerDataReceiveEventArgs>(Test_DataReceive);
private void Test_DataReceive(object sender, EventArgs e)
{
...
//作需要的处理
}
比如说你写了一个控件,该控件有BackColor属性;
那么当用户改变了BackColor的属性值后你可能需要重新绘制背景;
但是在绘制操作之前,你是否应该通知用户该事件呢?所以你会定义一个类似BackColorChanged的事件来通知用户,
让用户挂接该事件并在该事件的处理函数中有机会在绘制操作之前作一些别的操作。