lua调用C#的总结

本文总结了Lua调用C#的各种方式,包括类、枚举、数组、列表、字典、out/ref参数、委托与事件、nil与null比较、系统类型访问、协程和泛型的使用。重点介绍了XLua库提供的转换和调用机制。
摘要由CSDN通过智能技术生成

        lua调用C#大部分是通过:“CS.命名空间.类” 这样的方式调用的,当获得类之后通过:"类名()"的方式创建出类的对象从而调用类中的方法(静态方法直接 "类名."), 对于成员变量的调用是通过  "."  的方式去调用,而成员方法是通过 ":" 的方式去调用,这便是一般情况。

        而部分lua中的一些运算符是不支持C#中的一些功能的,比如数组的获取[]之类的,但是可以直接用对应命名空间下类的方法去获取,另一部分则是xlua为了兼容C#的功能而做的封装比如,比如lua中的数值类型只有number,无法区分float,int,double之类的不同精度的类型,所以xlua通过了一个套路,首先通过 “函数1 = typeof(类名):GetMethod("函数名", {typeof(函数的参数类型),...,..})”的方式来获取C#中的函数,之后通过 “lua函数 = xlua.tofunction(函数1)”将C#中的函数转为lua可以运行的函数,调用方法为 “lua函数(函数类的对象,函数的参数)”。 

 

        下面是调用不同类型所存在的不同点的总结

 

       一.类

        类要注意的点就是 " 静态与非静态" "成员变量与成员函数"的调用问题

                1.静态的可以通过"类名." 的方式来调用

                2.非静态的成员变量需要通过:"对象.变量" 的方式来调用

                3.非静态的成员函数则需要通过:"对象:函数()" 的方式来调用

        如果要给游戏对象动态添加脚本则需要使用函数&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值