Как мне заполнить раскрывающийся список значениями перечисления?

У меня есть перечисление для одного из свойств моей модели представления. Я хочу отобразить раскрывающийся список, содержащий все значения перечисления. Я могу заставить это работать с помощью следующего кода.

Что мне интересно, так это то, есть ли простой способ конвертировать из перечисления в IEnumerable? Я могу сделать это вручную, как в следующем примере, но когда я добавляю новое значение перечисления, код прерывается. Я полагаю, что могу сделать это с помощью отражения, как в этом примере , но есть ли другие способы сделать это?

public enum Currencies
{
  CAD, USD, EUR
}

public ViewModel
{
  [Required]
  public Currencies SelectedCurrency {get; set;}

  public SelectList Currencies
  {
    List c = new List();
    c.Add(Currencies.CAD);
    c.Add(Currencies.USD);
    c.Add(Currencies.EUR);

    return new SelectList(c);
  }
}

8
задан David Spence 19 January 2014 в 09:51
поделиться