作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我找到了这个类,并使用它为我的组合框生成项目(作为数据源):
public class ComboBoxItem
{
public string Text { get; set; }
public object Value { get; set; }
public override string ToString()
{
return Text;
}
}
问题是每当我需要访问 ComboBox
的选定值时,它总是返回 Text
,尽管 value
和当我解析我的应用程序时,Text
都是可见的,但我无法访问Value
。看图:
还有这张照片:
我想我需要一个 ToInt()
函数来将我的类的值作为 int 返回。我怎样才能实现它?
最佳答案
您需要将 SelectedItem 转换为 ComboBoxItem,然后访问它的 Value 属性:
var i = ((ComboBoxItem)sTD_PROVINCEComboBox.SelectedItem).Value;
这样,i
将包含 Value
,因此在 foreach
中,您可以简单地执行以下操作:
foreach(var item in UE2.Cities.Where(x => x.CITY_PROVINCE_ID == i)
更新:
请注意,ComboBoxItem
的 Value
属性是 object 类型(我假设它是 int)。如果是这种情况,上面的 foreach 部分将无法编译(不允许将 int 与 object 进行比较)。假设 CITY_PROVINCE_ID
的类型为 int,并且 i
存储装箱 int,您需要将 i
拆箱回 int :
foreach(var item in UE2.Cities.Where(x => x.CITY_PROVINCE_ID == (int)i)
关于c# - 如何为自定义类创建自定义扩展方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20882616/
我是一名优秀的程序员,十分优秀!