当前位置: 首页 > news >正文

xLua和C#交互

在xLua脚本内加载三方dll:xlua.load_assembly('aLuaTestDll')  --不用加.dll后缀

使用C#内部类:CS.xxx.xxx.xxx   CS前缀是固定的,后面命名空间和类名按c#调用约定拼写

        public xLuaForm(){InitializeComponent();_luaEnv = new LuaEnv();//_luaEnv.}public void Print(string msg){MessageBox.Show(msg);}private LuaEnv _luaEnv;public static void StaticMethod(string msg){MessageBox.Show(msg);}private void button1_Click(object sender, EventArgs e){var script = $@"xlua.load_assembly('NLuaTestDll')CS.System.Windows.Forms.MessageBox.Show('hello001')local newForm = CS.System.Windows.Forms.Form()newForm:ShowDialog();newForm:Dispose();person = CS.NLuaTestDll.Person()person.Name = 'Winter'person.Age = 10CS.WindowsFormsApp1.xLuaForm.StaticMethod(person:ToString())    participant = {{""张三"", ""李四"", ""老王"", ""狗蛋"", ""铁剩""}}CS.WindowsFormsApp1.xLuaForm.StaticMethod('abc')--require 'CSharpCallLua'--person = {{Name = 'Tom', Age = 10}}name = 'jerry'form.Text = 'lua test'form:Print('hello  ' .. #participant)function add(a, b)return a+bend
";_luaEnv.Global["form"] = this;_luaEnv.DoString(script);var p = _luaEnv.Global.Get<Person>("person");MessageBox.Show(p.ToString());}
namespace NLuaTestDll
{[LuaCallCSharp]public class Person{public string Name { get; set; }public int Age { get; set; }public string ToString(){return $"{Name} -- {Age}";}}
}

http://www.dtcms.com/a/299115.html

相关文章:

  • C#与C++交互开发系列(二十四):WinForms 应用中嵌入C++ 原生窗体
  • 安卓服务与多线程
  • uniapp+高德地图实现打卡签到、打卡日历
  • uniapp input 如何只读禁用输入可点击
  • ISIS GR实验案例
  • 机器学习特征工程:特征选择及在医学影像领域的应用
  • QT中启用VIM后粘贴复制快捷键失效
  • 电子电气架构 --- 车载软件交样评审流程
  • Python 数据分析(二):Matplotlib 绘图
  • Python点阵字生成与优化:从基础实现到高级渲染技术
  • P1064 [NOIP 2006 提高组] 金明的预算方案 题解
  • 主要分布在腹侧海马体(vHPC)CA1区域(vCA1)的混合调谐细胞(mixed-tuning cells)对NLP中的深层语义分析的积极影响和启示
  • LeetCode 刷题【15. 三数之和】
  • Ubuntu 18.04安装Fast-Lio2教程
  • 开发者说|RoboTransfer:几何一致视频世界模型,突破机器人操作泛化边界
  • Vue当中背景图无法占满屏幕的解决方法
  • JavaScript里的reduce
  • JavaScript 对象、字符串的统计和排序高频面试题
  • Spring Boot 3 如何整合 MinIO 实现分布式文件存储?
  • 【20】C# 窗体应用WinForm ——下拉列表框ComboBox属性、方法、实例应用
  • 掌握JavaScript函数封装与作用域
  • 【资讯】2025年软件行业发展趋势:AI驱动变革,云原生与安全成核心
  • C++/CLI与标准C++的语法差异(一)
  • 《jQuery Mobile 页面》
  • 统计学07:概率论基础
  • ICMPv6报文类型详解表
  • opencv学习(图像金字塔)
  • 算法第三十九天:动态规划part07(第九章)
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现沙滩小人检测识别(C#代码UI界面版)
  • Kafka MQ 消费者应用场景