@owen-pauling; , . , Dictionary<Keys, int>:
Dictionary<Keys, int> values = new Dictionary<Keys, int>();
values.Add(Keys.ColorSelection, Convert.ToInt32(Color.Black));
values.Add(Keys.GenderSelection, Convert.ToInt32(Gender.Male));
values.Add(Keys.DaySelection, Convert.ToInt32(Day.Wednesday));
foreach (KeyValuePair<Keys, int> kv in values)
{
dynamic enumValue = null;
switch (kv.Key)
{
case Keys.ColorSelection:
enumValue = Enum.Parse(typeof(Color), Convert.ToString(kv.Value));
break;
case Keys.DaySelection:
enumValue = Enum.Parse(typeof(Day), Convert.ToString(kv.Value));
break;
case Keys.GenderSelection:
enumValue = Enum.Parse(typeof(Gender), Convert.ToString(kv.Value));
break;
}
Console.WriteLine(String.Format("Enum value: {0}", enumValue));
}
, , . List<DetailSelection>:
public class DetailSelection
{
public DetailSelection() { }
public Type SelectionType { get; set; }
public string Description { get; set; }
public int EnumValue { get; set; }
}
List<DetailSelection> details = new List<DetailSelection>();
details.Add(new DetailSelection() {
Description = "Color description",
SelectionType = typeof(Color),
EnumValue = Convert.ToInt32(Color.Black)
});
details.Add(new DetailSelection() {
Description = "Day description",
SelectionType = typeof(Day),
EnumValue = Convert.ToInt32(Day.Wednesday)
});
details.Add(new DetailSelection() {
Description = "Gender description",
SelectionType = typeof(Gender),
EnumValue = Convert.ToInt32(Gender.Male)
});
foreach (var detail in details)
{
var enumValue = Enum.Parse(detail.SelectionType, Convert.ToString(detail.EnumValue));
Console.WriteLine(String.Format("Enum value: {0}", enumValue));
}
, , ; .: -)
, Dictionary<TKey, TValue> ; , , , , DaySelection ..