您的位置:首页 > 其它

Event 与 Delegate的区别,还是有区别的

2014-09-08 15:27 477 查看
1. event就是delegate的一种应用,加上event的delegate能做的事情,与单纯delegate都能做到。

2. 加了event的delegate变量就当是它给外面的世界只显示了两个东西:+=、-=。

外面的世界既不能对他赋值(=操作),也不能调用它(myDelegate())。

举个实例如下:

publikc class Test

{

public delegate void MyEventHandler(object sender, EventArg e);

public event MyEventHandler myEvent;

public MyEventHandler myDelegate;

public void F1(object sender, EventArg e){}

public void F2(object sender, EventArg e){}

}

public class App1

{

void Main()

{

Test t1 = new Test();

t1.myEvent += new MyEventHandler(t1.F1); //Correct

t1.myDelegate +=new MyEventHandler(t1.F1); //Correct

t1.myEvent(); //Wrong

t1.myDelegate(); //Correct

t1.myEvent = new MyEventHandler(t1.F1); //Wrong

t1.myDelegate = new MyEventHandler(t1.F1); //Correct

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: