NeoLuaに.NETでクラスを追加する

提供: MonoBook
ナビゲーションに移動 検索に移動

NeoLuaにC#で関数を追加する方法と同じ要領で、NeoLuaに.NETのクラスも追加できる。

    class MainClass
    {
        public static void Main(string[] args)
        {
            using (var lua = new Lua())
            {
                var env = lua.CreateEnvironment();

                // C#で書かれたfooオブジェクトを追加
                env.Add("foo", new Foo());

                // Lua側から呼び出してみる
                var ret = env.DoChunk(@"return foo:ticks()", "main.lua");
                Console.WriteLine(ret);
            }
        }
    }

    class Foo 
    {
        public long ticks() 
        {
            return DateTime.Now.Ticks;
        }
    }

関連項目[編集 | ソースを編集]