모든 임의의 열거를 전달일반적인 방법 및 매개 변수
은 내가 열거 프레임 워크 내 마지막 비트를 분류하는 것을 시도하고있다.
내 목표 : 임의의 열거 형을 보내고 목록으로 변환하여 드롭 다운 목록에 바인딩하고 싶습니다. 주어진 드롭 다운 목록에 대해 DataSource로 ObjectDataSource를 사용합니다. 하나의 매개 변수 만 사용하는 복합 컨트롤을 만들고 싶습니다. enum 유형. 복합 컨트롤은 데이터 바인딩과 다른 모든 비트와 b을 분류합니다.
이제는 일반적인 방법을 ObjectDataSource와 호환되도록 변환하는 것이 유일한 문제입니다.
다음은 현재 ObjectDataSource에서 사용해야하는 현재 메서드 코드입니다. 따라서이 메서드는 정상적으로 작동하고 Enum 형식의 WeekDays에 대한 항목 목록을 반환합니다. 그러나 동일한 기능이 필요하지만 WeekDays를 모든 유형의 열거 형으로 대체해야합니다.
코드 :
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을 사용하고 있습니다.