UH2S3L14——Lua调用函数(ref和out)
UH2S3L14——Lua调用函数(ref和out)
Lua调用C#的ref和out方法
假设我们要调用下面的方法
1 | public class Lesson5 |
调用带ref参数方法
实际上,toLua对ref支持的不太好,官方也没有针对ref的示例,不建议使用
不过我们还是可以使用带ref参数的方法的 (有重载的情况下除外,详见下一章 )
toLua和xLua中对ref和out函数的使用基本类似,是通过多返回值的形式来处理的
如果是out和ref函数,则第一个返回值是函数的默认返回值,之后的返回值就是ref和out对应的结果,从左到右一一对应
a是函数的返回值,b是第一个ref,c是第二个ref
1 | local obj = Lesson5() |
调用带out参数方法
和xLua的区别是:xlua中ref需占位,out参数不需要
而toLua:ref和out都需要占位
a是函数的返回值,b是第一个out,c是第二个out
1 | print(obj:OutFun(20, nil, nil, 30)) |
调用带ref和out参数方法
混合使用时,综合上面的规则,ref和out都需占位
第一个是函数的返回值,之后,从左到右依次对应ref或者out
1 | print(obj:RefOutFun(20, nil, 1)) |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 文KRIFE齐的博客!
