问题描述
请教我要实现这样的功能,自定义事件x,在a类中监听x,在b类某个方法中触发x。目的是方便数据在a,b类中传递。我在js中就是这样做的很方便。在c#中,我只能做到,在a类中监听x,触发x。
解决方案
解决方案二:
自己(对象,而不仅仅是“类”)访问自己,有什么必要使用事件?你不能使用a类对象来监听一个b类对象抛出的事件,那是你没有学习c#的问题。找本c#书看吧。
解决方案三:
我刚刚回复了这个vb.net帖子(我n多年不用vb.net,不太了解vb.net语法,只能凑合着回复)在.net下不同语言只是体验不同,基本原理是一致的。因此我用c#的方式、vb.net语法来写了demo程序。在Form1类对象中监听并处理了20个TestCls类对象实例。你自己可以把它再当成c#代码来看看。
解决方案四:
感谢你的回复,网上搜索资料,经常能看到你。在js中有这样方便的方法://事件监听,可以放在任何地方cc.eventManager.addListener(listener1,this);this._listener1=cc.EventListener.create({event:cc.EventListener.CUSTOM,eventName:"hellomsg",callback:this.callback});cc.eventManager.addListener(this._listener1,1);////事件触发,可以放在任何地方varevent=newcc.EventCustom("hellomsg");event.setUserData('{"hello');cc.eventManager.dispatchEvent(event);///这样可以很方便的数据交流。但c#中实在看不懂,有没有js这样的功能
解决方案五:
js本身哪有这些东西?不要把cocos2d的功能说成js的功能如果你想在c#里实现同样的功能,请去学习cocos2d的源代码,然后翻译成c
解决方案六:
#哦,朋友,也许你说的对,在as3中也是这种模式,我喜欢这种样子,简单好理解。对于c#的自定义事件,我理解不了,希望有人能弄出这样的功能,多简单啊。希望有朋友帮忙。
解决方案七:
我怎么感觉楼主是在找Action、Func?
解决方案八:
你说的是委托吗?把b的方法传递给a,做个委托
解决方案九:
可以用两个事件,a,b各一个
解决方案十:
解决方案十一:
你到网上搜索常用的窗体间传值(使用委托传值的那种方法),看懂它,就OK了