C#中delegate
在C#中,在使用delegate的时候,如果被代理的函数有返回值,不为void时,在对delegate进行申请空间并绑定函数的时候就会有一个警告
如:delegate sting Delgate(int);
Delegate dele += new Delegate(sort);
就会出现如下警告
warning C4358: '+=': return type of combined delegates is not 'void'; returned value is undefined
请问如何消除警告?
问题点数:20、回复次数:6Top
1 楼Ilovesport(大力神)回复于 2006-12-01 11:35:47 得分 0
使用单委托:
如:delegate sting Delgate(int);
Delegate dele = new Delegate(sort);Top
2 楼tjvictor(终于升星了,向两星奋斗)回复于 2006-12-01 11:37:00 得分 0
最好不要有返回值,你可以用ref 參數來代替返回值的功能。Top
3 楼Ilovesport(大力神)回复于 2006-12-01 11:38:59 得分 0
多重委托使用时,即使有返回值也无法得到确定返回值;.net中的多重委托没有返回值!Top
4 楼hdt(倦怠)回复于 2006-12-01 11:46:04 得分 0
委托可以有返回值
你的问题是
Delegate 是.net 框架自有的类 ,代表委托
不要用Delegate 换个名字Top
5 楼swq19850114(小强哥)回复于 2006-12-01 12:23:15 得分 0
event 类型才可以'+='Top
6 楼hdt(倦怠)回复于 2006-12-01 15:05:31 得分 0
delegate 可以+=
Top





