Lua调用C#
通过生成的适配代码进行调用
把在白名单上和打上[LuaCallCSharp]标签的C#类转换成Lua的table,然后注册C#类的方法和属性到table中。性能好,但占用安装包的内存大
通过反射机制进行调用
性能差,在运行的时候才去查找C#的方法,但占用安装包的内存小
C#调用Lua
使用XLua中的LuaEnv这个类的方法
1. DoString
字符串:
DoString("print('a')")
模块:DoString("require 'Module.lua'")
2. 值类型的反射
luaenv.Get<int>("a")
3. 引用类型的反射
C#的类和接口需添加[CSharpCallLua]标签
Global.GetInPath<委托>("math.max")
Global.GetInPath<IPerson>("Person")