У меня есть список строк, которые являются кандидатами для значений перечислений.Это
- Не отправлять различий
- 500 строк
- 1000 строк
- 5000 строк
- Отправить всю разницу
Проблема заключается в том, что пробелы, специальные символы не являются частью идентификаторов и даже не могут начинаться с цифры, поэтому я буду обрабатывать эти значения только символами, числами и _
Чтобы сохранить исходные значения, я думал поместить эти строки в DescriptionAttribute так, чтобы конечный Enum
выглядел как
public enum DiffBehvaiour
{
[Description("Don't send diffs")]
Dont_send_diffs,
[Description("500 lines")]
Diff_500_lines,
[Description("1000 lines")]
Diff_1000_lines,
[Description("5000 lines")]
Diff_5000_lines,
[Description("Send entire diff")]
Send_entire_diff
}
Затем, используя код, я получу реальную строку, связанную со значением перечисления,чтобы правильная строка могла быть отправлена обратно в веб-сервис для получения правильного ресурса.
Я хочу знать, как создать DescriptionAttribute
с использованием System.Reflection.Emit
По существу, вопросгде и как хранить исходную строку, чтобы при выборе значения перечисления можно было получить соответствующее значение.
Мне также интересно узнать, как получить доступ к DescriptionAttribute
при необходимости.