2

LuaInterfaceをC#に統合しようとしていますSystem.NullReferenceExceptionが、C#関数をLuaにバインドしようとすると、が表示されます。私がコンパイルして実行しようとしているコードは次のとおりです。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using LuaInterface;

namespace Hobot
{
    class Program
    {
        static void Main(string[] args)
        {
            Program program = new Program();
            Lua lua = new Lua();
            lua.RegisterFunction("puts", null, typeof(Program).GetMethod("Test"));
            lua.DoFile("test.lua");
        }

        private void Test(String text)
        {
            Console.WriteLine(text);
        }
    }
}

そして、このコードを実行するSystem.NullReferenceExceptionAdditional information: Object reference not set to an instance of an object.RegisterFunctionメソッドが機能しなくなったというメッセージが表示されます。

4

2 に答える 2

3

RegisterFunctionのターゲットパラメータにnullがあります。

これを試して:

lua.RegisterFunction("puts", this, typeof(Program).GetMethod("Test"));
于 2012-11-28T08:54:36.923 に答える