我正在将C#应用程序从.NET 3.5移植到4.0,并且遇到了BindingSource控件的问题。
在我的应用程序的一部分中,我使用LINQ to对象查询来获取不同的对象列表。其结果被指定为BindingSource的数据源。这反过来用于填充ComboBox控件。
当在组合框中选择一个值时,SelectedValue用于过滤不同的不同列表。
当我针对.NET 3.5构建时,这会表现自己。当LINQ查询返回0结果时,BindingSource的列表中有0个条目。
在针对.NET 4.0进行编译时,LINQ查询产生0结果(如预期的那样),但发现BindingSource在其列表中有1个条目。
扩展到此项目的结果视图时,唯一的属性是“空”:
Empty "Enumeration yielded no results" string
这会导致在设置ComboBox的DisplayMember或ValueMember时抛出异常。
我完全不知道同样的代码在3.5和4.0之间的表现如何不同。
任何人都可以解释为什么会这样吗?