.net - 覆盖类/向 ListviewItem 添加属性 (vb.net)

标签 .net vb.net properties overriding

我有一个 ListView ,但我想向其中的 ListView 项添加 3 个属性(例如其中之一是“图像”)。
我可以制作一个具有 3 个属性的自定义类并仅继承 ListViewItem,但现在我需要使用 MultiSelect,因此这意味着执行以下操作(在 For Each 循环中):

ListView1.SelectedItems.Item(i).Image
不起作用,因为它返回一个 ListViewItem 而不是我的 CustomClass。
我总是可以这样做:
Ctype(ListView1.selectedItems(i), MyCustomClass).Image

但是一遍又一遍地使用它似乎是一种浪费/错误的方式?

最佳答案

这就是它的工作原理。 ListView 可以存储任何类型的 ListItem,并且要获取派生转换的属性,您必须对其进行转换。您做得正确。

关于.net - 覆盖类/向 ListviewItem 添加属性 (vb.net),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2052714/

相关文章:

json - 使用 Newtonsoft 反序列化 JSON 属性(当它可以是单个字符串或 JARRAY 时)

.net - 尝试更改标签的边框颜色

asp.net - DropDownListFor 并将我的 lambda 与我的 ViewModel 相关联

.net - 集合上的递归断言

database - 检查 INSERT INTO 语句是否成功

python - 如何检查一个变量是否是一个属性

grails - 获取 Grails 域中的属性标签

java - 为什么我不能在我的 Properties 文件中读取 Integer?

.net - 如何使用NHibernate锁定模式在更新之前锁定对象?

c# - 使用 CaSTLe Windsor 注入(inject)日志依赖