私はいくつかのC#/ Luaインタフェースコードを1つのLuaライブラリから別のライブラリに移動しようとしています。だから、新しいライブラリバインディングインタフェースを使うために書き直す必要のあるメソッドバインディングが50以上ある。新しいものはもっと扱いにくいですが、createTable()という1つのC#メソッドをバインドする方法の例がここにあります。C#このデリゲート関連のコードを改善するにはどうすればよいですか?
// Delegates
private delegate LuaTable dlgCreateTable();
public LuaTable createTable()
{
LuaTable table = luaRuntime.CreateTable();
return table;
}
then I do ........
using (LuaFunction funcWrapper = luaRuntime.CreateFunctionFromDelegate(new dlgCreateTable(createTable)))
{
luaRuntime.Globals["createTable"] = funcWrapper;
}
図書館のために私を与える唯一の方法は、luaRuntime.CreateFunctionFromDelegate()であるので、私はこの構文を使用する必要があります。
このコードは、1つまたは2つの別々の関数バインドには問題ありませんが、50個ほどのコードでは非常に醜いように見えます。何らかの形でメソッドの詳細をC#テーブルに入れてから、それらをループで繰り返し処理することができれば、より見た目がよくなります。 createFunctionFromDelegate()行を変更して、テーブルの周りを反復できるようにすることはできますか?実行可能な場合、そのコードはどのように見えますか?それはこの1つを解決するために比較的容易であることが判明し
ジェフ