我将 SharpLua 与 MonoDevelop 一起使用。我在 C# 端创建了一个类,它应该可以从 Lua 中使用。这很好,我可以从 Lua 访问所有字段。这很容易。
public class Test {
public string Name;
}
可以从 Lua 访问
print(test.Name)
现在,我想通过 Lua 创建新字段。在 Lua 中它应该看起来像
test.abc = "A string"
print(test.abc)
但这没有用。我在 ObjectTranslator 中遇到错误。所以我无法从 Lua 扩展表。我不想从 C# 访问这个新条目。应该只能创建它们。
还有其他方法可以实现这一目标吗?我可以从 LuaTable 创建一个类并将其插入 Lua 吗?
lua["NewLuaTable"] = new ClassFromLuaTable;
而不是在 Lua 中使用
NewLuaTable.abc = "A string"
print(NewLuaTable.abc);
但是,我是如何得到通知的,我想知道的东西在 LuaTable 中发生了变化(NewLuaTable.Name 发生了变化)?
谢谢您的帮助。