标签:
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
标签:
原文地址:http://blog.csdn.net/e421083458/article/details/43635523