public enum Eume
{
星期一, 星期二, 星期三, 星期四, 星期五
}
private void BinderDays()
{
Type type = typeof(Eume);
FieldInfo[] fields = type.GetFields();
for (int i = 1; i < fields.Length; i++) // i=0 為 value__ 欄位,略過
{
FieldInfo field = fields[i];
days.Items.Add(new ListItem(field.Name));
}
}
// 錯誤:SelectedValue 為字串,無法直接轉型
Eume em = (Eume)days.SelectedValue;
// 正確:使用 SelectedIndex 對應列舉順序(前提:列舉值連續且從 0 開始)
Eume em = (Eume)days.SelectedIndex;
列舉值若非連續整數、或需顯示自訂文字(如 [Description("週一")]),仍需手動建立 ListItem 集合。反射繫結適合簡單連續列舉的快速原型開發。