All
Я пытаюсь разобраться со своими последними битами в Enum-фреймворке.
Моя цель: я хочу отправить любой тип enum, преобразовать его в список и связать с раскрывающимся списком. я буду использовать ObjectDataSource в качестве DataSource для данного выпадающего списка. Я хочу создать составной элемент управления, который принимает только один параметр; тип enum. Составной элемент управления сортирует привязку данных и все остальные биты и биты.
Теперь единственная проблема, которую я имею, - преобразовать универсальный метод в совместимый с ObjectDataSource.
Вот код моего текущего метода, который мне нужно использовать в моем ObjectDataSource. Итак, этот метод работает нормально и возвращает список элементов для типа Enum WeekDays. Однако мне нужна та же функциональность, но мне нужно заменить WeekDays любым типом enum.
Код:
public class DropDownData
{
public EnumDataItemList GetList()
{
EnumDataItemList items = new EnumDataItemList();
foreach (int value in Enum.GetValues(WeekDays))
{
EnumDataItem item = new EnumDataItem();
WeekDays d = (WeekDays)value;
//Set display text
if (!string.IsNullOrEmpty(DataHandlers.GetAttributeValue<DisplayTextAttribute, string>(d)))
{
//Translation logic goes here
item.Text = DataHandlers.GetAttributeValue<DisplayTextAttribute, string>(d);
}
else
{
//Translation logic goes here
item.Text = Enum.GetName(typeof(WeekDays), value);
}
item.Value = value; //Actual value
item.ToolTip = DataHandlers.GetAttributeValue<ToolTipAttribute, string>(d);
item.Description = DataHandlers.GetAttributeValue<Lia.Library.Enums.CustomAttributes.DescriptionAttribute, string>(d);
item.HelpText = DataHandlers.GetAttributeValue<HelpTextAttribute, string>(d);
item.ExcludeOnBinding = DataHandlers.GetAttributeValue<ExcludeOnBinding, bool>(d);
if (!item.ExcludeOnBinding)
{
items.Add(item);
}
}
return items;
}
}
public class EnumDataItemList : List<EnumDataItem>
{
}
Насколько я знаю, я не могу использовать универсальный метод с ObjectDataSOurce, но универсальный класс в порядке. Я просто не могу заставить его работать с общим классом, и вся помощь очень ценится. Когда все заработает, я буду рад поделиться полным решением.
Я использую Framework 2.0.