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

提供: MonoBook
2018年10月22日 (月) 02:30時点におけるimported>Administratorによる版 (ページの作成:「 NeoLuaにC#で関数を追加する方法と同じ要領で、NeoLuaに.NETのクラスも追加できる。 <syntaxhighlight lang="csharp"> class MainClass {...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

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;
        }
    }

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