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

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

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

public enum Currencies
{
  CAD, USD, EUR
}

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

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

    return new SelectList(c);
  }
}

Ответы на вопрос(4)

Ваш ответ на вопрос