Допустим, у вас есть следующее перечисление
public enum Numbers {Zero = 0, One, Two};
Вам необходимо иметь структуру, чтобы отобразить эти значения в строку:
public struct EntityName
{
public Numbers _num;
public string _caption;
public EntityName(Numbers type, string caption)
{
_num = type;
_caption = caption;
}
public Numbers GetNumber()
{
return _num;
}
public override string ToString()
{
return _caption;
}
}
Теперь верните массив объектов со всеми перечислениями, сопоставленными со строкой:
public object[] GetNumberNameRange()
{
return new object[]
{
new EntityName(Number.Zero, "Zero is chosen"),
new EntityName(Number.One, "One is chosen"),
new EntityName(Number.Two, "Two is chosen")
};
}
Для заполнения поля со списком используйте следующее:
ComboBox numberCB = new ComboBox();
numberCB.Items.AddRange(GetNumberNameRange());
Создайте функцию для получения типа enum на тот случай, если вы захотите передать его функции
public Numbers GetConversionType()
{
EntityName type = (EntityName)numberComboBox.SelectedItem;
return type.GetNumber();
}
и тогда с тобой все будет в порядке:)