我正在使用 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()
我应该更改/添加什么以使用带参数的构造函数?
最佳答案
首先,您需要在您的类 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()
关于c# - 如何在 Lua 中注册 C# 类构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44100984/