【发布时间】:2017-08-24 09:32:20
【问题描述】:
我的问题是我有一个组合框,里面装满了长度或重量等单位。英寸,英尺,码。或盎司、磅、吨。无论如何,我有枚举,例如
public enum Torques {
/// <remarks/>
DyneCentimeters,
/// <remarks/>
FootPounds,
/// <remarks/>
InchPounds,
/// <remarks/>
KilogramMeter,
/// <remarks/>
MeterNewtons,
}
我需要一种优雅的方式来从下拉列表中获取值并创建匹配枚举类型的变量。现在我正在使用一个案例陈述,例如
Computers fromUnit = Computers.Bit;
switch (compFromUnit.Text)
{
case "Bit":
fromUnit = Computers.Bit;
break;
case "Byte":
fromUnit = Computers.Byte;
break;
case "Kilobyte":
fromUnit = Computers.Kilobyte;
break;
case "Megabyte":
fromUnit = Computers.Megabyte;
break;
case "Gigabyte":
fromUnit = Computers.Gigabyte;
break;
case "Terabyte":
fromUnit = Computers.Terabyte;
break;
case "Petabyte":
fromUnit = Computers.Petabyte;
break;
default:
fromUnit = Computers.Bit;
break;
}
我的一些清单很长,以这种方式完成项目需要一些很长的案例陈述。我知道必须有某种方法可以在一行代码中完成这一切。
当我尝试为诸如 combo.selected.Text = "Bit" combo.selected.Value = "Computers.Bit" 之类的选择分配一个值,然后说出类似 toUnit = combo.selected.value 的内容时无法从字符串转换。
【问题讨论】:
-
您使用的是 WinForms 还是 WPF?