实现事件的方法可以有返回类型吗?

asdf144 2009-12-23 03:28:14
实现事件的方法可以有返回类型吗?

private delegate void ConfirmBtnClickEventHandler(ButtonX btn);
private event ConfirmBtnClickEventHandler ConfirmBtnClick;
protected void OnConfirmBtnClick(ButtonX btn)
{
if (ConfirmBtnClick != null)
ConfirmBtnClick(btn);
}
private void btnAdd_Click(object sender, EventArgs e)
{
this.OnConfirmBtnClick(btnAdd);
}

private void btnConfirm_Click(object sender, EventArgs e)
{
this.ConfirmBtnClick += new ConfirmBtnClickEventHandler(frmSys_CYStyle_Set_ConfirmBtnClick);
if (ValidateTXTData())
{
btnEnabled();
}
else
{
MessageBoxEx.Show("数据不能为空!");
}
}
//this.ConfirmBtnClick += new ConfirmBtnClickEventHandler(frmSys_CYStyle_Set_ConfirmBtnClick);
//怎么这句话报错啊?

其实我的意思很简单,注册事件,实现事件的方法有个返回类型,
我要用到这个数据。
难道实现事件的方法只能是VOID类型吗?
...全文
159 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
kanliang 2009-12-24
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 projectdd 的回复:]
有没有返回类型取决于 什么类型的委托,如果这个委托有返回类型那么注册的事件 方法也就是必须要有

它们必须是完全 一致的。
[/Quote]

是的。
ProjectDD 2009-12-24
  • 打赏
  • 举报
回复
有没有返回类型取决于 什么类型的委托,如果这个委托有返回类型那么注册的事件 方法也就是必须要有

它们必须是完全 一致的。
Alden 2009-12-24
  • 打赏
  • 举报
回复
当然可以了。
qiqundelang 2009-12-24
  • 打赏
  • 举报
回复
可以
xuetianliang 2009-12-24
  • 打赏
  • 举报
回复
用事件中的参数实现吧
幸运的意外 2009-12-23
  • 打赏
  • 举报
回复
事件不能有返回值,这是甲鱼的臀部---规定.嘎嘎
changjiangzhibin 2009-12-23
  • 打赏
  • 举报
回复
委托内部使用的参数可以看成返回值
xiaoyuzi 2009-12-23
  • 打赏
  • 举报
回复
不能有返回类型,委托可以是多播的,多个返回值没法处理。你不用委托,直接用函数回调就可以有返回值。
tzs2304 2009-12-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 asdf144 的回复:]
引用 2 楼 ojlovecd 的回复:
private delegate void ConfirmBtnClickEventHandler(ButtonX btn);
这里不是你自己定义成void的吗?

哦,是不是如果实现事个的方法是什么返回类型,
定义的委托也是这个返回类型啊?
[/Quote]
是的
silentwins 2009-12-23
  • 打赏
  • 举报
回复
可以
我姓区不姓区 2009-12-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 asdf144 的回复:]
哦,是不是如果实现事个的方法是什么返回类型,
定义的委托也是这个返回类型啊?
[/Quote]
对啊
江南小鱼 2009-12-23
  • 打赏
  • 举报
回复
http://www.cnblogs.com/jimmyzhang/archive/2007/09/23/903360.html
委托和事件

通俗易懂
fengjian_428 2009-12-23
  • 打赏
  • 举报
回复
恩 委托和方法返回类型要一样
asdf144 2009-12-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ojlovecd 的回复:]
private delegate void ConfirmBtnClickEventHandler(ButtonX btn);
这里不是你自己定义成void的吗?
[/Quote]
哦,是不是如果实现事个的方法是什么返回类型,
定义的委托也是这个返回类型啊?
波导终结者 2009-12-23
  • 打赏
  • 举报
回复
private string XXXXX()
{
XXXXXXXX
return XXXX
}
我姓区不姓区 2009-12-23
  • 打赏
  • 举报
回复
private delegate void ConfirmBtnClickEventHandler(ButtonX btn);
这里不是你自己定义成void的吗?

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧