【发布时间】:2013-09-14 12:24:17
【问题描述】:
我有 1 个这样的“car_brands”枚举声明:
public enum Car_brands
{
Audi = 1,
...
...
}
和许多其他这样的每个“car_brand”的枚举声明
public enum Audi
{
model_a3 = 1,
model_a4 = 2,
...
}
我有 2 个关联的组合框。与 car_brands 相关的一项:
comboBox1.DataSource = new BindingSource(Car_brands.Keys, null);
我希望另一个组合框填充选定品牌的枚举(例如奥迪的奥迪枚举模型)。
我试试这个,但它似乎不准确......
private void comboBox3_SelectedValueChanged(object sender, EventArgs e)
{
string value = comboBox1.Text; //car brand
Type type = Type.GetType(value);
var brand_models = Enum.GetNames(type.GetType());
foreach (string enumValue in brand_models)
{
string brand_model = enumValue;
MessageBox.Show(brand_model);
}
}
【问题讨论】:
-
仅供参考 - 您不需要在枚举中显式设置数字,它会自动完成。
-
我也在我的程序后面使用它们作为值...谢谢
-
我的意思是,如果你取消 int 赋值,它们仍然会代表 1、2、3... 等等,所以没有必要。
-
“不准确”是什么意思?是有效还是无效?
-
@James,当一个值在数据库中表示一个值时,当显式设置时更容易查找。
标签: c# reflection combobox enums