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

深圳网站建设公司那家好微信平台开发技术

深圳网站建设公司那家好,微信平台开发技术,做网站用什么字体字号,公司做网站推广需要多少钱C# 通过枚举类型字符串#xff0c;反射到枚举上 通过类型字符串#xff0c;反射出任意类型枚举类型通过反射调用枚举GetTypeByName(EnumName) 为空#xff1f; 小结 通过类型字符串#xff0c;反射出任意类型 之前老顾写过一篇博客#xff0c;通过反射#xff0c;使用字… C# 通过枚举类型字符串反射到枚举上 通过类型字符串反射出任意类型枚举类型通过反射调用枚举GetTypeByName(EnumName) 为空 小结 通过类型字符串反射出任意类型 之前老顾写过一篇博客通过反射使用字符串可以反射出当前项目中所有可用的类型包括泛型类型。需要补课的小伙伴可以围观下老顾之前的文章《C# 根据typename字符串创建任意类型的对象含泛型》。 虽然老顾自己也说了使用这个方法一般都是自己掉坑里的选择不过确实有时候也会用到。 枚举类型 一般在自己开发的程序中针对于特定的有限数据我们一般会做出一个枚举类型来规范所有参与项目的小伙伴避免出现歧义或不规范内容。 比如一个订单状态根据业务流程我们可以分成几个阶段 提交未处理 已接收订单 待付款 已付款 待发货 正在配送 已配送完成 订单完成 等等这样的有限状态集合。 也比如说访问网络资源会返回一些状态码比如 200、404、401、500 之类的这些都是有限状态所以通常我们都可以用 Enum 来定义一个枚举集合规范一下数据。 这样的操作主要是为了避免有的小伙伴写做待付款有的小伙伴写做未付款还有的写作待支付。。。总之不用枚举规范的话天知道会出现多少相同意义的数据。 CSDN 文盲老顾的博客https://blog.csdn.net/superwfei 老顾的个人社区https://bbs.csdn.net/forums/bfba6c5031e64c13aa7c60eebe858a5f?category10003typeId3364713 通过反射调用枚举 大多数时候我们在使用枚举的时候都是明确知道其类型的所以我们通常是直接用 Enum.GetName(枚举类型,值) 的方式来获取对应的文本描述。 但是偶尔我们需要调用枚举的位置并不是我们手写的代码而是类似模版定义这样的内容比如现在老顾就有这么一个模板定义 404.enum.httpstate 404 是值enum 是调用枚举httpstate 是枚举类型 正常在程序里写的话那么就应该是这样了 Enum.GetName(httpstate,404)但是模版里的话。。。这个 httpstate 是可以解析了但如果有多个模版且枚举类型不一致呢 比如有这么个模板内容 html symbols: ^lt,enum,htmlsymbols^ ^trage,enum,htmlsymbols^ ^gt,enum,htmlsymbols^ http state: ^200.enum.httpstate^ ^403.enum.httpstate^ ^500.enum.httpstate^ bidstate: ^11.enum.trade^ ^91.enum.trade^ ^99.enum.trade^那么这里出现了三个枚举类型如果少的话不通过反射用程序一个一个分支或者 switch 一下也是可以的但是如果再出现新的类型那么还是很痛苦的经常需要改代码了。 所以我们还是通过反射来实现枚举调用。 GetTypeByName(EnumName) 为空 我们直接使用之前定义的通过类名字符串调用类的方法 GetTypeByName里面的参数给一个枚举类型。。。结果。。。没有能获取到枚举类型Type 返回的是 null 我连泛型都搞出来了你告诉我枚举不能用 foreach (Type st in ts){if (RegexExpand.IsMatch(st.FullName, \. RegexExpand.FormatRegExp(source) (?\d)?$)){return st;}}打开原来的代码在 RegexExpand.IsMatch 这一行老顾打了一个断点然后发现枚举Enum 的字符串类型。。。有点哭笑不得。 好么类的话FullName 就是 xxx.yyy.zzz 的方式泛型就是 xxx.yyy.zzzn 的方式结果枚举类型你给来了个 xxx.yyyzzz 的方式。。。。 所以修改起来也非常简单把刚才代码中的正则 “\.” 换成 “[\.]” 即可。 然后我们就可以正常的调用枚举处理内容了 try{Type t Common.GetTypeByName(枚举类型字符串);return Enum.GetName(t, int.Parse(枚举值));}catch (Exception ex){return ex.Message;}小结 好吧没什么可多总结的就是 FullName 的格式有点出乎预料也许还有其他形式的FullName。总之还是要多见识见识才好。 另外再补充一下直接把 RegexExpand 修改成 Regex 即可这是老顾自己定义的一个静态类继承并扩充了一下 Regex 罢了。 FormatRegExp 方法就是将字符串转成正则表达式类似 py 中的 re.escape public static string FormatRegExp(string str){return str.Replace(\\, \\).Replace((, \\().Replace(), \\)).Replace({, \\{).Replace(}, \\}).Replace([, \\[).Replace(], \\]).Replace(., \\.).Replace(, \\).Replace(-, \\-).Replace(^, \\^).Replace($, \\$).Replace(?, \\?).Replace(*, \\*).Replace(|, \\|);} 其实就是几个字符替换的事自己随便放到哪里都可以。
http://www.zqtcl.cn/news/514097/

相关文章:

  • 太原 招聘 网站建设 技术经理关于 建设 二级网站
  • 如何做网站店铺的模板著名的响应式网站有哪些
  • 相城区建设网站做网站 设计师很
  • python网站开发好吗广州软件外包
  • 山东能源集团 网站建设对网站建设功能的情况说明
  • 网站设计个人各种类型网站建设口碑好
  • 西安巨久科技网站建设嘚嘚笔记 wordpress主推
  • 杭州利兴建设官方网站上海专业网站建设费
  • 自适应网站制作费用中国建设网官方网站企业登录
  • h5网站和传统网站区别电子商务主要学什么就业方向及前景
  • 凡科建站弊端各学院二级网站建设通报
  • 做网站怎么注册营业执照民制作网站哪家便宜
  • 临沂做进销存网站推广软件公司
  • 网站前端建设唐山网站建设托管
  • 做效果图有哪些网站seo怎么做关键词排名
  • 深圳手机网站开发什么网站可以做英语题
  • 网站优化什么意思图片展示网站
  • 建德做网站米趋外贸网站建设
  • 国外优秀的设计网站八爪鱼磁力搜索引擎
  • 网站建设优化陕西网络营销推广方法与策略
  • 网站建设推广者怎样找到客户百度seo排名帝搜软件
  • 绵阳网站托管网站建设第一品牌
  • 张家港网站建设培训班电商seo引流
  • 网站安全怎么做手机网站 焦点图
  • 阿里云做网站的代码网上申请入团网站
  • 精品课程网站怎么做建筑图纸符号大全解释
  • 高权重网站 内页做跳转给新网站许昌做网站公司哪家专业
  • 咸阳网站建设工作室网站建设经
  • 网站怎么做短信接口新浪wordpress
  • 方维o2o 2.9蓝色团购网站程序源码模板做一电影网站怎么赚钱