首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Lua中注册C#类构造函数

如何在Lua中注册C#类构造函数
EN

Stack Overflow用户
提问于 2017-05-21 19:32:34
回答 1查看 394关注 0票数 3

我使用的是c#类:

代码语言:javascript
复制
public class TestClass
    {
        int _a;
        public void Set(int a)
        {
            _a = a;
        }
        public void Print()
        {
            Console.WriteLine(_a);
        }
    }

并登记如下:

代码语言:javascript
复制
Lua lua = new Lua();
lua["Debug"] = new TestClass();
lua.DoFile("script.lua");

然后从脚本调用它,下一步:

代码语言:javascript
复制
a=Debug
a:Set(5)
a:Print()

我应该更改/添加什么来使用带参数的构造函数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-21 21:32:09

首先,您需要导入类TestClass所在的相应名称空间,以便从lua脚本中使用它:

代码语言:javascript
复制
namespace Application
{
    public class TestClass
    {
        int _a;

        public void Print()
        {
            Console.WriteLine(_a);
        }

        public TestClass(int a)
        {
            this._a = a;
        }
    }
}
代码语言:javascript
复制
Lua lua = new Lua();
lua.LoadCLRPackage();
lua.DoFile("script.lua");

现在您可以从TestClass文件实例化script.lua:

代码语言:javascript
复制
import ('Application')
a=TestClass(5)
a:Print()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44100984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档