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

时间:2021-05-20

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#读取静态类常量属性和值的实例讲解的文章就介绍到这了,更多相关C#读取静态类常量属性和值内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章