封装Lua for C#
来源:互联网 发布:英语单词数据库 下载 编辑:程序博客网 时间:2024/05/11 20:07
为了搞懂LUA在我们的GDEX中到底怎么用,我决定研究一下如何比较好的在WPF里封装一个基于lua的APP framework。
今天先对Lua for C#进行了一次简单的封装。
在C#下用过Lua的人都知道,用C#实现一个函数之后和LUA绑定,需要用到Lua类的RegisterFunction方法。
在函数很少的情况下很好用,但是若需要绑定C#里成百上千个函数,则麻烦了,添加一个函数,至少每次需要修改两个地方:函数实现,函数绑定(RegisterFunction)。并且如果在lua中绑定的名字和C#中不一样,则更麻烦,还需要维护一个函数映射。
今天翻了一下google,翻出GameDev.net上一篇老外的文章,叫《Using Lua with C#》,看了一下,它的方法不错。(改天考虑翻译这篇文章),不过他的示例代码实在是太太太冗长了,大部分是生成函数介绍和函数帮助文档等,直接忽略。把它最核心的东西拿过来,然后自己封装了一下,用起来感觉不错。
基本思想是,使用C#的Attribute来标记函数,实现自动绑定。
核心部分代码如下(LuaFramework.cs):
我的LUA API类如下,用于实现C# for lua的函数(LuaAPI.cs)
最后看调用代码,是不是很简单
LUA代码如下
lua1();
lua2();
lua3("test");
- 封装Lua for C#
- 封装Lua for C#
- 封装Lua for C#
- 封装Lua for C#
- lua封装
- lua - c++封装 dxlua
- 封装Lua的调用
- Lua的C++封装
- Lua的C++封装
- lua C++封装
- Lua封装map
- Lua封装格式化html
- Lua封装格式化float
- Lua的C++封装
- lua table封装
- C# 封装
- C# 封装
- c# 封装
- Displaying GIF Images on J2ME Mobile Phones
- Zlib压缩算法在java上的应用
- 进制间的转换
- 从 Java 代码逆向工程生成 UML 类图和序列图
- vmware下重新编译内核必选选项(备忘)
- 封装Lua for C#
- Win32消息运行原理
- error 1718: was rejected by digital signature policy
- 制作水晶头,网线的排线顺序应怎样排
- DataList 改变行颜色
- JSP 页面中对Cookie的操作
- SQL-MSSQL-CODE大全
- 互动出版网计算机频道图书7日销售排行
- 工作说明书(SOW)