C#读取静态类常量属性和值的实例讲解
作者:DotNet之路 时间:2022-04-15 16:37:34
1.背景
最近项目中有一个需求需要从用户输入的值找到该值随对应的名字,由于其它模块已经定义了一份名字到值的一组常量,所以想借用该定义。
2.实现
实现的思路是采用C#支持的反射。
首先,给出静态类中的常量属性定义示例如下。
public static class FruitCode
{
public const int Apple = 0x00080020;
public const int Banana = 0x00080021;
public const int Orange = 0x00080022;
}
其次,编写提取该静态类常量Name和值的方法,如下所示。
Type t = typeof(FruitCode);
FieldInfo[] fis = t.GetFields(); // 注意,这里不能有任何选项,否则将无法获取到const常量
Dictionary<int, string> dicFruitCode = new Dictionary<int, string>();
foreach (var fieldInfo in fis)
{
var codeValue = fieldInfo.GetRawConstantValue();
dicFruitCode.Add(Convert.ToInt32(codeValue), fieldInfo.Name.ToString());
}
foreach(var item in dicFruitCode)
{
Console.WriteLine("FieldName:{0}={1}",item.Value,item.Key);
}
如期,实现了所需要的目的,如图所示。
来源:https://www.cnblogs.com/lonelyxmas/p/12549335.html
标签:C#,静态类
0
投稿
猜你喜欢
Android编程实现拦截短信并屏蔽系统Notification的方法
2022-09-16 01:55:14
Android蓝牙通信编程
2023-06-24 04:37:48
eclipse怎么引入spring boot项目插件的方法
2021-07-23 20:38:54
Java设置PDF跨页表格重复显示表头行的步骤详解
2023-09-21 23:50:33
JAVA编程不能不知道的反射用法总结
2023-08-25 18:41:06
线程池ThreadPoolExecutor使用简介与方法实例
2021-11-02 21:02:24
idea导入工程时不能导入maven项目不能加入tomcatServer的原因
2023-06-13 05:35:11
Java详细分析梳理垃圾回收机制
2023-10-30 04:02:33
java 接口回调实例详解
2023-11-19 15:44:24
一篇文章弄懂JVM类加载机制过程以及原理
2022-01-19 10:32:57
android 线性布局LinearLayout实例代码
2023-02-23 19:30:13
Java发送报文与接收报文的实例代码
2023-07-09 04:44:01
java web开发之购物车功能实现示例代码
2023-01-24 16:52:55
Spring5学习之基础知识总结
2021-08-16 02:19:15
在IDEA中配置tomcat并创建tomcat项目的图文教程
2023-08-11 11:33:59
Android实现点击缩略图放大效果
2022-11-10 21:47:23
Java中为什么this可以调用当前实例
2022-02-19 18:41:39
Spring Bean后处理器详细介绍
2021-06-27 07:29:06
Spring常用注解汇总
2022-12-19 16:26:03
springboot 打包部署 共享依赖包(分布式开发集中式部署微服务)
2022-12-26 09:13:43