码迷,mamicode.com
首页 > Windows程序 > 详细

C#读取静态类常量属性和值

时间:2020-03-23 00:25:33      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:背景   mic   src   new   dna   info   inf   lin   apple   

原文:C#读取静态类常量属性和值

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#读取静态类常量属性和值

标签:背景   mic   src   new   dna   info   inf   lin   apple   

原文地址:https://www.cnblogs.com/lonelyxmas/p/12549335.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!