Ulua调用C#枚举

小主也是刚做变成没有多久的人,也是刚开始写文章,如果写的不好的话希望大家给我指出,能共同探讨问题,今天讲一下lua中调用C#的枚举类型吧,我之前也在网上看了很多的文章,但是大家只是把luaframework中的代码进行了一遍赋值,并没有真正的讲解,也没有总结用法,所以今天主要说一下这个地方吧。还有一个问题,如果你们所做的项目是单纯lua也可以直接定义一个表(表中的数据相当于枚举值)给定义的变量去赋值表中数据模拟枚举,如果你们所做的项目中只是用到了lua,FSM状态机等带有枚举类型的架构在C#中,那么还是用需要下面的方法

框架其余的东西就讲了,直接去GitHub上去搜LuaFramework排行榜第一那个就是,文档都有自行查看

首先我们定义一个C#的脚本和一个枚举类型

注意一点:这里定义的枚举变量我用的Static为了CustomSetting.cs添加方便直接这样写

然后我们需要将创建的脚本和枚举都添加到CustomSetting.cs脚本中

添加完之后我们就可以从lua中调用

结果图如下

总结:

调用C#枚举有三个方法(luaframework运行库自带)
一、枚举变量:ToInt() 将枚举变量转化成整型

二、枚举.IntToEnum() 将枚举类型转化成枚举值

三、枚举变量:Euqals(枚举类型) 将当前枚举变量的值和参数进行比较如果一样就是true,否则为false

这里要注意一点,原luaframework中的讲解是参数为int类型的整数,测试发现参数为整型的话报错,所以这个地方的参数是枚举类型而不是整型

今天分享就到这里,有疑问的话可以继续追问,最近有时间看到了可以帮你们解答一下,小主确实是个菜鸟,如果有讲的不谨慎的地方希望可以点出来,谢谢大家,如果有转的话添加注释转自XXX 谢谢

Ulua调用C#枚举相关推荐

  1. P/Invoke调用SipEnumIM枚举SIP失败?

    通过.NET CF本身提供的方法枚举设备中的所有SIP可以方便的完成这个问题.如下: 参考:http://msdn.microsoft.com/en-us/library/ms172538.aspx ...

  2. Java枚举类使用和总结

    1.枚举类使用情况一: 1 package com.bie.util; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 6 /** 7 ...

  3. Java枚举:小小enum,优雅而干净

    来源:沉默王二(ID:cmower) <Java编程思想>中有这么一句话:"有时恰恰因为它,你才能够'优雅而干净'地解决问题"--这句话说的是谁呢?就是本篇的主角--枚 ...

  4. java enum枚举的使用详情(实例与原理分析)

    一.原始的接口定义常量 public interface IConstants {String MON = "Mon";String TUE = "Tue";S ...

  5. thinking-in-java(19)枚举类型

    [0]开场白 1)关键字 enum 可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用: 2)所有的枚举类都继承自 Enum,通过 enumClass.getSu ...

  6. 扩展方法 枚举值_扩展枚举功能的两种方法

    扩展方法 枚举值 前言 在上一篇文章中,我解释了如何以及为什么在Java代码中使用enums而不是switch/case控制结构. 在这里,我将展示如何扩展现有enums功能. 介绍 Java enu ...

  7. 扩展枚举功能的两种方法

    前言 在上一篇文章中,我解释了如何以及为什么在Java代码中使用enums而不是switch/case控制结构. 在这里,我将展示如何扩展现有enums功能. 介绍 Java enum是一种编译器魔术 ...

  8. Java枚举类型(enum)详解

    文章目录 理解枚举类型 枚举的定义 枚举实现原理 枚举的常见方法 Enum抽象类常见方法 编译器生成的Values方法与ValueOf方法 枚举与Class对象 枚举的进阶用法 向enum类添加方法与 ...

  9. JAVA 枚举类的初步理解

    JAVA 枚举类的初步理解 现在Java的枚举类在真实项目中已经用的比较频繁,比静态常量更好用,也更有限定性,enum类可以用来表示有限的类对象,比如星期.月份.性别或者项目中的产品类型 像诸如此类的 ...

最新文章

  1. 做国内最好的ITSM服务管理软件
  2. linux生日_代码简介:让我们用25个Linux事实来庆祝Linux的25岁生日。
  3. 命令行的全文搜索工具--ack
  4. UVA11400 照明系统设计 Lighting System Design(线性DP)
  5. java读取 500M 以上文件,java读取大文件
  6. PHPCMS最新版任意文件上传漏洞分析
  7. Keeplived配置Nginx双机高可用【转】
  8. 关于错误 1 error C4996: 'getch': The POSIX name for this item is deprecated.问题解决方式
  9. ux设计师薪水_公司与 设计机构:UX设计师的津贴和陷阱
  10. 深度学习loss值变为0_利用TensorFlow2.0为胆固醇、血脂、血压数据构建时序深度学习模型(python源代码)...
  11. python测试工具开发面试宝典3web抓取
  12. UESTC1608 暑假集训
  13. 【神经网络与深度学习】Caffe使用step by step:使用自己数据对已经训练好的模型进行finetuning...
  14. Java 三个线程依次输出ABC
  15. Linux桌面版横评:一、评测背景
  16. 讯飞庭审语音识别系统亮相最高人民法院工作报告
  17. HTTP响应代码中文详解
  18. 【Python】爬取xici和快代理的免费代理ip
  19. 仿真的硬件选型原则:CPU
  20. 在Swing中使用JxBrowser-Using JxBrowser in Swing

热门文章

  1. 家用设备搭建VMWARE超融合 NSX HORIZON 及CISCO测试环境
  2. 阿里“中台”概念结合环保行业架构的思考
  3. 手机端html跑马灯效果,使用css3和js在手机上实现简单的跑马灯效果
  4. 淮阴中学2021高考成绩查询,2021年淮阴高考成绩排名及成绩公布时间什么时候出来...
  5. 手机如何将Word文档转换为PDF扫描文件
  6. Your CLT does not support macOS 11
  7. 【网络工程】9、实操-万达酒店综合项目(三)
  8. 详解EBS接口开发之销售订单挑库发放(转载)
  9. Java Exer0905 玩家1、2互相攻击,直至一方生命值小于零,战斗结束,三局两胜,公布胜方。for循环、while循环、三元运算符、if-else、Scanner
  10. 1w存银行一年多少利息_我把100万存银行一年利息是多少钱?