当前位置: 首页 > 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.xdnf.cn/news/1189387.html

相关文章:

  • 激光雷达-相机标定工具:支持普通相机和鱼眼相机的交互式标定
  • 字节跳动扣子 Coze 宣布开源:采用 Apache 2.0 许可证,支持商用
  • 6.数组和字符串
  • J2EE模式---表现层集成模式
  • 备份一下我的 mac mini 的环境变量配置情况
  • net-snmp添加自定义mib树
  • 【C++基础】指针常量 | 常量指针 | int* p | const int* p | int* const p| const int* const p
  • 详解力扣高频SQL50题之619. 只出现一次的最大数字【简单】
  • PCIe 的L状态(链路状态)和D状态(设备状态)
  • 前端组件梳理
  • 【WPF】NumericUpDown的用法
  • 【CTF-WEB-反序列化】利用__toString魔术方法读取flag.php
  • 教育培训系统源码解析:如何打造高可扩展的在线学习平台?
  • 【CTF-Web】dirsearch寻找download.php进行?path=flag.txt任意文件下载
  • Android Studio 提示信息 ‘equals(““)‘ can be replaced with ‘isEmpty()‘
  • 《Java 程序设计》第 6 章 - 字符串
  • VTK交互——Callback
  • NLua和C#交互
  • 访问者模式感悟
  • 泰山派GPIO编译 ADB下载 万用表测量GPIO电压
  • 【ELasticsearch】节点角色分类与作用解析
  • OpenCV学习探秘之二 :数字图像的矩阵原理,OpenCV图像类与常用函数接口说明,及其常见操作核心技术详解
  • 分治算法 (Divide and Conquer)原理、及示例-JS版
  • AI 编程工具 Trae 重要的升级。。。
  • 经典IDE之Turbo C
  • nginx的 `root` 和 `alias` 笔记250726
  • 0.深度学习环境配置步骤
  • VTK交互——ClientData
  • 英语听力口语词汇-8.美食类
  • (AC)Playlist