LuaInterface でのユーザーデータ型へのアクセスに関して質問があります。C# ディクショナリを Lua に渡し、ipairs を使用してそれを繰り返し処理しようとすると、ipairs はユーザーデータ オブジェクトではなくテーブルを想定しているため、エラーが発生します。
解決策の 1 つは、Dictionary 型を LuaTable 型に変換してから Lua に渡すことだと思いますが、userdata 型を入れたい用途の 1 つは、Dictionary オブジェクトを Lua に取り込み、customType オブジェクトのフィールドを更新することです。 Lua でメソッドを呼び出します。これが可能かどうかはわかりませんが、その Dictionary を文字列と int の LuaTable に変換すると、Lua から customType と直接やり取りする機会が失われることは間違いありません。
Lua でのユーザーデータの操作に関する情報をオンラインで調べましたが、C/C++ を介した Lua とのインターフェイスと、よくわからないスタックを見つけたいくつかの例を見つけました。また、場合によっては sizeof メソッドが使用されますが、これは c# では簡単な代替手段がありません。誰かが私にいくつかの指針を教えてもらえますか? C のユーザー定義型に関する PIL セクションもあまり役に立ちませんでした。