C# 代表 事件 方法之间的区别与关系

2024年11月19日 17:29
有2个网友回答
网友(1):

委托(代表)delegate,是.Net提供的一种引用类型,可以用来引用函数,使用委托,可以实现函数回调、异步回调等,提高程序设计的灵活性。

委托的概念有点像c/c++的指针函数。

事件,event,其实就是委托,明确地说是多播委托,就是一个委托可以指向多个函数,并分别回调这些函数。事件用在类中,用来实现一种通知机制,即告知外部,当前类的状态。

方法,就是函数了,和其他语言的概念一样。

举个例子:

定义委托:
delegate int FuncEventHandler(int i);

用这个委托定义事件:
event FuncEventHandler Func;

用匿名函数给事件赋值:
Func += delegate(int i){return i++;};

异步回调函数(后面两个参数用于指定异步回调返回时再次回调的委托,可以忽略):
Func.BeginInvoke(1, null, null);

网友(2):

好多分数啊!
楼主,你可以把事件当做方法的触发器与容器。要将区别于联系,还要举例子,这够写一篇文章了,你还是到网上搜吧