我正在使用c#类:
public class TestClass
{
int _a;
public void Set(int a)
{
_a = a;
}
public void Print()
{
Console.WriteLine(_a);
}
}
并注册:
Lua lua = new Lua();
lua["Debug"] = new TestClass();
lua.DoFile("script.lua");
然后从脚本中调用它:
a=Debug
a:Set(5)
a:Print()
我应该更改/添加什么来使用带参数的构造函数?
答案 0 :(得分:2)
首先,您需要导入类TestClass
所在的相应命名空间,以便从lua脚本中使用它:
namespace Application
{
public class TestClass
{
int _a;
public void Print()
{
Console.WriteLine(_a);
}
public TestClass(int a)
{
this._a = a;
}
}
}
Lua lua = new Lua();
lua.LoadCLRPackage();
lua.DoFile("script.lua");
现在,您将能够从script.lua文件中实例化TestClass
:
import ('Application')
a=TestClass(5)
a:Print()