嘿所有,我已经构建了一个ComboBox,可以手动获取这样的项目:
var newitem = new { fullname =c.Company+" "+ c.FirstName + " " + c.LastName,
custId = c.CustomerID };
c_dropCustomers.Items.Add(newitem);
稍后在组合选择事件中,我想要只获得custId(The Value) 但我不知道如何达到它。
SOS:)
答案 0 :(得分:4)
asuming c#4.0:
dynamic item = c_dropCustomers.SelectedItem;
dynamic customerID = item.custId;
答案 1 :(得分:0)
您需要实际定义一个类,以便以后可以转换为它。您无法转换为匿名类(AFAIK)。
答案 2 :(得分:0)
如果我理解你的问题:
var item = c_dropCustomers.SelectedItem;
var custId = item.custId;
修改强> (C#3.5)
如果它确实是匿名类型,您需要执行以下操作:
ComboBox cb = new ComboBox();
cb.Items.Add(new { fullname = "Company" + " " + "First Name" + " " + "Last Name", custId = 44 });
cb.SelectedIndex = 0;
var item = cb.SelectedItem;
var custId = item.GetType().GetProperty("custId").GetValue(item, System.Reflection.BindingFlags.GetProperty, null, null, null);