public void Method() { Console.WriteLine("我是c#普通方法"); } public static void StaticMethod() { Console.WriteLine("我是一个C#静态方法"); } Program p = new Program(); lua.RegisterFunction("NormalMethod", p, p.GetType().GetMethod("Method"));//注册普通方法public的 lua.DoString("NormalMethod()"); lua.RegisterFunction("StaticMethod", null, typeof(Program).GetMethod("StaticMethod"));//注册静态方法 lua.DoString("StaticMethod()");
RegisterFunction,第一个参数表示注册成为Lua的方法名,第二个参数是c#的对象,第三个参数是这个对象的哪个方法(通过反射获取)