c#调用脚本语言Lua——简单Demo
配置:
1. 下载c#下的Lua支持类库。下载地址:http://files.luaforge.net/releases/luainterface/luainterface/2.0.3
将(lua51.dll\LuaInterface.dll)引用自己的项目中。
2. 修改App.config添加以下内容:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0" sku = ".NETFramework,Version=v4.0"/> <supportedRuntime version="v2.0.50727"/> </startup> </configuration>
using LuaInterface; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace lua_test { class MyClass { public string MyStr(string s) { return s + " World !"; } } class Program { public static Lua m_lua = null; //创建lua虚拟机 static public void init() { MyClass my = new MyClass(); //创建自定义类实例 //在lua虚拟机(全局)中注册自定义函数,一边在lua文件中调用该函数 m_lua.RegisterFunction("MyStr", my, my.GetType().GetMethod("MyStr")); m_lua.DoFile("lua_test.lua"); //加载lua文件(绝对路径) } static void Main(string[] args) { m_lua = new Lua(); init(); //加载乱文件后,使用GetFunction获取函数,再调用Call执行(传参数) Object[] objs = m_lua.GetFunction("MyNum").Call(100); //Call函数的返回值为一个Object数组 foreach(Object obj in objs){ Console.WriteLine(obj); } Console.ReadLine(); } } }
http://download.csdn.net/detail/e421083458/8432515