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齐的博客!