我正在开发一个Windows Forms应用程序已经有一段时间了,而且我发现自己在GUI代码中做了比在基础业务代码中做的更多的类型转换.
如果你看ComboBox控件接受一些模糊的"对象"作为它的项目,我的意思变得明显.然后你会离开并显示一些DisplayMember和ValueMember等等.
如果我想稍后检索该值,我需要将我的对象强制转换回原来的状态.就像字符串获得价值一样
string value = (string)combobox1.SelectedItem;
由于框架中存在泛型相当长一段时间,我仍然想知道为什么在地狱中没有标准工具箱中的一个控件是通用的.
我也发现自己一直在ListViewItems上使用.Tag属性来保留显示的域对象.但每次我需要访问该对象时,我需要另一个类型转换.
为什么我不能用ListViewItem类型的项创建一个ComboBox或ListView
我在这里遗漏了什么,或者这只是通过控制没有完美考虑的另一个例子?