c# - 使用 NLua 的 C# 类实例

标签 c# lua nlua

我正在尝试使用 NLua 在 lua 文件中创建 C# 类的实例

这是我的代码。

class Program
{
    public static void Main (string[] args)
    {

        Lua lua = new Lua();
        lua.LoadCLRPackage();

        lua.DoString(@"
                        import ('LuaTest.exe', 'LuaTest')
                        test = Test()
                    ");
    }
}

public class Test
{
    public Test()
    {
        Console.WriteLine("IT WORKED");
    }
}

但这似乎不起作用,我环顾四周并尝试了多种不同的方法。我尝试过的大多数方法的错误是:

An unhandled exception of type 'NLua.Exceptions.LuaScriptException' occurred in NLua.dll Additional information: [string "chunk"]:3: attempt to call global 'Test' (a nil value)

这有点奇怪,因为这直接来自他们的示例代码? https://github.com/NLua/NLua

谢谢大家的帮助。

咆哮的一点:

如果我做错了什么,请告诉我。 顺便说一句,我正在使用纯 C# 构建,不确定这是否有什么不同,我没有看到任何关于它的警告?但整个事情似乎没有记录在案......

如果有人对更好的纯 C# Lua 库有任何建议,我会洗耳恭听。

最佳答案

对此我感到很抱歉。自述文件错误。

只需删除“.exe”即可正常工作

class Program
{
    public static void Main (string[] args)
    {

        Lua lua = new Lua();
        lua.LoadCLRPackage();

        lua.DoString(@"
                        import ('LuaTest', 'LuaTest')
                        test = Test()
                    ");
    }
}

public class Test
{
    public Test()
    {
        Console.WriteLine("IT WORKED");
    }
}

https://github.com/NLua/NLua

我已经修复了 github.com/nlua/nlua 中的自述文件

关于c# - 使用 NLua 的 C# 类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29873182/

相关文章:

c# - 读/写 'Extended' 文件属性 (C#)

c++ - 从 C++ 将字节数组传递给 lua 脚本方法

Lua 嵌套需求路径

c# - 使用具有行+列坐标的值集合动态填充数据网格

c# - 发送 UDP 广播以填充 USR-TCP232 LAN 模块信息

android - 如何用 Luaj 评估一个简单的表达式?

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

c# - 从 NLua 获取函数列表

c# - 如何获得任务并行库使用的最大并行度?

http - NodeMCU,一个简单的 GET 请求是一个很大的挑战