[12] lua中呼叫ref 和 out 修飾引數的函式數值
public int RefCompute(int a, ref int b, ref int c, int d)
{
b += a;
c += d;
return b + c;
}
public int OutCompute(int a, out int b, out int c,int d)
{
b = a + 1;
c = d + 2;
return b + c;
}
public int RefOutCompute(int a, ref int b, out int c,int d)
{
a += b;
c = d + 3;
return a + c;
}
lua指令碼中進行呼叫
------------------lua中呼叫C#的ref 和 out方法
---- lua呼叫ref引數的函式 ref修飾的引數會返回值形式返回
---第一個返回值為函式返回會值
---之後返回值為ref修飾的引數結果
local a,b,c = student:RefCompute(1,2,3,4)
print("a=" .. a) -- 10
print("b=" .. b) -- 1+2
print("c=" .. c) -- 3+4
--與ref修飾引數一樣
---out修飾的引數也會隨結果返回
local d,e,f = student:OutCompute(10,9,8,7)
print("d=" .. d) -- 20
print("e=" .. e) -- 10 + 1
print("f=" .. f) --7 + 2
--呼叫引數型別含有ref和out修飾的函式
--會依次隨著函式結果返回
local d,e,f = student:RefOutCompute(10,9,8,7)
print("d=" .. d) -- 19
print("e=" .. e) -- 9 ref修飾引數返回值 引數數值未變
print("f=" .. f) --10+ 9+ 3 + 7 out修飾引數返回值
[13]Lua中呼叫C#的過載函式
幾個簡單的方法,注意有out修飾引數型別的過載函式.
lua指令碼中呼叫:
執行結果: