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);
}

如期,实现了所需要的目的,如图所示。

C#读取静态类常量属性和值的实例讲解

来源: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
  • asp之家 软件编程 m.aspxhome.com