C#委托和事件

委托是一种数据类型,当我们需要将方法当做参数进行传递时,就可以使用委托而事件是对委托进行的一种封装的体现。事件是无法被外部所调用访问的,当我们仅需要在当前定义事件类中调用... 委托是一种数据类型,当我们需要将方法当做参数进行传递时,就可以使用委托
而事件是对委托进行的一种封装的体现。事件是无法被外部所调用访问的,当我们仅需要在当前定义事件
类中调用委托时,就可以选择事件

求大神指点,我这么理解是否正确?
如果不正确,那么何时使用委托、何时使用事件呢?
求指点
展开
 我来答
rot_pretense
2014-04-12 · TA获得超过254个赞
知道小有建树答主
回答量:456
采纳率:0%
帮助的人:249万
展开全部
本人是这样去理解委托和事件的
1、你应该使用过string+=的操作,但如果是需要追加事件的话 +=是会报错的 ,所以事件需要放到一个“方法”(委托)里去执行追加操作,也就是类似于参数传入方法的概念 方法执行完后就返回参数 这里也是一样的

2、来个例子 TextBox1 他本身没有事件
现在你需要给个keyUp 那假如我们去给他绑定keyUp在属性面板里双击keyUp事件 就自动生成了 但是你发现TextBox1的keyUp触发时 你想还触发一个自定义事件 keyUp1(其实这个地方可以是一个方法直接绑定到keyUp事件就行了,但是假如这个事件的方法是你移植过来的 那委托就上场了 给你把keyUp+=keyUp1 这样委托就帮你完成了文本框keyUp时调用两个事件的功能) 大概就是这样了
livershi
2014-04-11 · TA获得超过165个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:207万
展开全部
委托是事件的超集,事件是委托的一种特殊情况.就像类和接口一样.
不必纠结在什么时候用事件什么时候用委托.能用事件就用事件,不能用或不好用就自已建个委托.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Spener
2014-04-12 · TA获得超过239个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:134万
展开全部
//定义一个委托
public delegate void 委托名(); //注意此时委托示包含在任何类里.
public class Class1
{
//在本类中定义一个事件基于 "委托名" 的事件
event 委托名 事件名;

//构造函数
public Class1()
{
事件名 += 事件调用的方法;
}
/// <summary>
/// 事件所绑定的方法
/// </summary>
void 事件调用的方法()
{
Console.WriteLine("我是事件调用的方法");
}

//调用
void 调用()
{
事件名();
}

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光幽默使者
2019-03-16 · TA获得超过3694个赞
知道大有可为答主
回答量:3016
采纳率:25%
帮助的人:225万
展开全部
一个委托不一定是一个事件,
但是一个事件肯定需要一个委托性质的东西来handle。
一个类的委托可以自己实现,
一个类的事件让使用这个类的类来实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式