Closed wulei closed 7 years ago
delegate可以用'+'么?我以为只有event可以那样写。
ws.OnOpen = ws.OnOpen + function() end
另外,你那个delegate要加CSharpCallLua
其实在教程都有,最好去看看
不好意思,教程里面我看歪了。 把delegate的+链接和event混了。
@chexiongsheng
LuaException: [string "WebsocketTest.lua"]:24: attempt to perform arithmetic on a nil value (field 'OnClosed')
stack traceback:
[string "WebsocketTest.lua"]:24: in function <[string "WebsocketTest.lua"]:10>
XLua.LuaEnv.ThrowExceptionFromError (Int32 oldTop) (at Assets/xLua/Src/LuaEnv.cs:360)
XLuaGenDelegateImpl0.Invoke2 ()
LuaBehaviour.Start () (at Assets/_LFramework/Scripts/Common/LuaBehaviour.cs:70)
教程里面中的是ok的,但是这个是说 on a nil value,已经在delegate中加入CSharpCallLua,而且我调用ws.IsOpen的bool值不会有问题
你要先判空,空的话直接OnOpen=function。 貌似c#下也是会报错的吧,如果左值为null的话
我在拿第三方的一个besthttp做了一些调用使用测试,有些疑问,请教一下:
这个是c# code
这个是lua code
结果如下:
如果我在update中一直打印:ws.IsOpen,是看得出他在调用链接,最后返回链接上的,但是调用delegate就报错了,是否是我使用者的问题?