У меня есть класс с константами. У меня есть строка, которая может быть такой же, как имя одной из этих констант или нет.Получить значение константы по имени
Так класс с константами 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
метод нужен obj типа ConstClass
(ConstClass is static)
Не могли бы вы реорганизовать свой вопрос и показать свой код, чтобы было легче следовать? (вместо * описания * вашего кода, который является * жестким *, чтобы следовать) – Amit
Вместо того, чтобы использовать некоторые константы и отражение, чтобы получить их, я настоятельно рекомендую использовать словарь '. Это более эффективно, удобнее и читаемо. –