Требования
Я хочу выбрать значения из enum в С# с помощью ComboBox или выбрать битмаски (для enum с атрибутом Flags) с помощью CheckedListBox. Я хочу, чтобы добавить значения в элементы управления в качестве выбираемых элементов и четко указать, какой пользователь выбрал.
Цель 1: Удобство
Я также хочу, чтобы выбор был понятным и приятным для пользователя. В настоящее время я уже могу добавить значения enum в ComboBox или CheckedListBox, но Enum.ToString() вернет имя идентификатора. Pascal Case достаточно хорош для меня, но не для моих пользователей.
Цель 2: Простой код
Я хочу, чтобы это было легко кодировать. Я имею в виду easy. Я хочу, чтобы это было просто запоздалой мыслью для определения и/или использования любого enum значения.
Мое решение
Теперь я огляделся и увидел несколько приятных решений. Некоторые из них лучше по-своему, например если вам действительно нужно разместить свои собственные описания или сделать это еще на один шаг, поддерживает несколько языков. Вы можете сделать поддельные перечисления. Но я продолжал смотреть, и ни у кого из них не было достаточно элегантности и простоты - для моих целей - как то, что я написал. См. Ниже.