【发布时间】:2016-02-02 07:25:39
【问题描述】:
我有一个带常量的类。我有一些字符串,可以与其中一个常量的名称相同或不同。
所以带有常量ConstClass 的类有一些public const 像const1, const2, const3...
public static class ConstClass
{
public const string Const1 = "Const1";
public const string Const2 = "Const2";
public const string Const3 = "Const3";
}
要检查类是否包含 const 的名称,我已经尝试过下一步:
var field = (typeof (ConstClass)).GetField(customStr);
if (field != null){
return field.GetValue(obj) // obj doesn't exists for me
}
不知道这样做是否真的正确,但现在我不知道如何获取价值,因为 .GetValue 方法需要 ConstClass 类型的 obj(ConstClass 是静态的)
【问题讨论】:
-
能否请您重新组织您的问题,并显示您的代码,以便更容易理解? (而不是描述你的代码,这很难遵循)
-
我强烈建议不要使用一些常量和反射来获取它们,而是使用
Dictionary<string, string>。这样更高效、更易维护、更易读。