Я определил перечисление С# как
public enum ORDER
{
...
unknown,
partial01,
partial12,
partial23,
}
и может использовать его значение в виде строки, как в:
string ss = ORDER.partial01.ToString();
Однако, когда я пытаюсь использовать его в выражении case, он не скомпилируется:
string value = ...
switch (value)
{
case null:
break;
case "s":
// OK
break;
case ORDER.partial01.ToString():
// compiler throws "a constant value is expected"
break;
...
Я думал, что перечисления - это константы. Как мне обойти это?
(я не могу разобрать значение в перечисление, поскольку некоторые из значений находятся за пределами диапазона)