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

反射相关函数获取枚举描述函数

public static string GetEnumDescription(Enum enumValue)
            {
                string value = enumValue.ToString();
                FieldInfo field = enumValue.GetType().GetField(value);
                object[] objs = field.GetCustomAttributes(typeof(DescriptionAttribute), false);    //获取描述属性
                if (objs.Length == 0)    //当描述属性没有时,直接返回名称
                    return value;
                DescriptionAttribute descriptionAttribute = (DescriptionAttribute)objs[0];
                return descriptionAttribute.Description;
            }
  PropertyInfo[] peroperties = typeof(companyEnum).GetProperties(BindingFlags.Public | BindingFlags.Instance);

            foreach (PropertyInfo property in peroperties)
            {
                object[] objs = property.GetCustomAttributes(typeof(DescriptionAttribute), true);
                if (objs.Length > 0)
                {
                    ControlFiledData cfd = new ControlFiledData();
                    cfd.comname = "txt" + property.Name;
                    cfd.labtext = ((DescriptionAttribute)objs[0]).Description;
                    // Console.WriteLine("{0}: {1}", property.Name, ((DescriptionAttribute)objs[0]).Description);
                    ListData.Add(cfd);
                }
            }

 

相关文章:

  • 关于Repeater如何获取控件对象
  • 5分钟快速建立项目版本控制
  • 设计模式学习之生成器模式
  • SSH项目的简单table及其分页框架
  • .NET 事件模型教程(二)
  • SUP (SAP Mobile SDK 2.2) 连接 Sybase SQL Anywhere sample 数据库
  • 流的压缩与解压缩函数
  • Javascript 严格模式详解(转)
  • AngularJS的Hello World
  • 日志池
  • 电子病历,到底是用BS还是CS
  • Visual Studio (VSIX,项目模板 )制作
  • C#下实现的半角转与全角的互转
  • shell训练营Day19
  • 创建使用口令的角色,并分配给用户
  • Android单元测试 - 几个重要问题
  • Apache Pulsar 2.1 重磅发布
  • Apache Zeppelin在Apache Trafodion上的可视化
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • ES6语法详解(一)
  • gf框架之分页模块(五) - 自定义分页
  • github指令
  • k8s如何管理Pod
  • linux学习笔记
  • React as a UI Runtime(五、列表)
  • SpriteKit 技巧之添加背景图片
  • 代理模式
  • 基于web的全景—— Pannellum小试
  • 简单基于spring的redis配置(单机和集群模式)
  • 老板让我十分钟上手nx-admin
  • 力扣(LeetCode)965
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 软件开发学习的5大技巧,你知道吗?
  • 试着探索高并发下的系统架构面貌
  • 思考 CSS 架构
  • 学习Vue.js的五个小例子
  • 用quicker-worker.js轻松跑一个大数据遍历
  • # Java NIO(一)FileChannel
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • ${ }的特别功能
  • (3)llvm ir转换过程
  • (C++17) optional的使用
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (八)Flask之app.route装饰器函数的参数
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)scrum常见工具列表
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据