dynamiclua
dynamiclua copied to clipboard
LuaTable instance is passed to Methods
When a C#-Method is called with a table as a parameter, a instance of LuaTable is passed not a instance of DynamicLuaTable. Currently there is no idea how to change this, the only solution would be a wrapper Method, wrapping the in the correct classes.
This would be a workarround, but it requires a reference to the orignal LuaInterface Assembly:
lua.func3 = new Action<dynamic>((table) =>
{
table = new DynamicLuaTable(table, lua.LuaInterpreter);
Console.WriteLine(table.num);
});
lua("func3({num = 42})");
Just to makes this more clear: In the code given above the table in func3 is of the type dynamic with the underlying type LuaTable (instead of DynamicLuaTable). This means, you can't use table.num (but table["num"] works.)
Rewrapping the table as shown above is a workaround. Or just use the array syntax...