成都网站建设设计

将想法与焦点和您一起共享

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


标题名称:C#读取静态类常量属性和值的实例讲解
转载注明:http://chengdu.cdxwcx.cn/article/jsesed.html