如何检索多个选定的列表框项并将它们转换为对象?

时间:2011-07-07 20:16:33

标签: c# winforms collections listbox

类似的问题:.NET 3.5 Listbox Selected Values (Winforms)

我使用数据绑定到对象集合填充了一个列表框:

lstbDataFields.DisplayMember = "HumanReadable";
lstbDataFields.ValueMember = "DatabaseName";
lstbDataFields.DataSource = new BindingSource(ObjectCollection).OrderBy(d => d.HumanReadable), null);

我正在寻找一种方法将这些对象的选定集合传递给方法。像这样:

ProcessSelection((IEnumerable<ClassDataField>)lstbDataFields.SelectedItems);

这会产生InvalidCastException

从此列表框中获取正确的对象类型集合的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

ProcessSelection(lstbDataFields.SelectedItems.Cast<ClassDataField>())

应该做你想要的(使用语句添加System.Linq)