gpt4 book ai didi

c# - 如何为自定义类创建自定义扩展方法?

转载 作者:行者123 更新时间:2023-12-03 02:49:38 24 4
gpt4 key购买 nike

我找到了这个类,并使用它为我的组合框生成项目(作为数据源):

 public class ComboBoxItem
{
public string Text { get; set; }
public object Value { get; set; }

public override string ToString()
{
return Text;
}
}

问题是每当我需要访问 ComboBox 的选定值时,它总是返回 Text,尽管 value 和当我解析我的应用程序时,Text 都是可见的,但我无法访问Value。看图:

ToString()
还有这张照片:
Value not accessible

我想我需要一个 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)

更新:

请注意,ComboBoxItemValue 属性是 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com