我有一個關於訪問LuaInterface中的用戶數據類型的問題。當我將C#字典傳遞給Lua並嘗試使用ipairs遍歷它時,我得到一個錯誤,因爲ipairs期待一個表而不是一個userdata對象。訪問Lua中的用戶數據屬性和方法
我想一種解決方案是將字典類型轉換爲LuaTable類型,然後再將它傳遞給Lua,但是我想把用戶數據類型放入LuaTable類型中,就是將Dictionary對象帶入Lua並更新字段customType對象並在Lua中調用它們的方法。我不知道這是否可行,但我很確定如果將該字典轉換爲字符串和整數的LuaTable,我將失去直接與Lua中的customType進行接口的機會。
我在網上查找了關於在Lua中使用userdata的信息,但是我通過C/C++和一個我並不真正瞭解的堆棧發現了與Lua的接口。另外,在某些情況下使用sizeof方法,這在c#中沒有簡單的選擇。有人能給我一些指點嗎? C中用戶定義類型的PIL部分也沒有多大幫助。
從C#詞典構築的Lua表的例子: http://stackoverflow.com/a/3050730/1150918和建築一個Lua表使用C API非常簡單。一個新的例子:http://stackoverflow.com/a/20148091/1150918 – Kamiccolo
@Kamiccolo,複製字典是不一樣的迭代原始 – finnw