我目前在为客户提供购物车时遇到问题。
他希望能够在 CartItems 之间添加文本,所以我想知道是否有某种方法仍然只有一个列表。
我的解决方案是有两个列表,其中一个是 IList 类型,在计算购物车的重量和总体价格时会迭代,而另一个 IList 只公开在 ListView 中显示所需的字段,并且是 CartItem 的超类型。 (但是我如何访问 listView 的其他字段,在描述文本类中将重量和价格默认为 0 会破坏 LSP)。
但是有两个列表在某种程度上感觉有点奇怪(并且仍然给我带来了问题),所以我想知道是否可以做某种 TypedList,在其中指定每个项目的类型。
欢迎任何建议,我对这两种选择都不太满意。
使用接口:
ICartListItem
并将您的清单设置为:
List<ICartListItem>
现在,创建几种类型,让它们全部实现此接口,然后您可以将它们全部安全地存储在列表中。
或者,如果您希望 CartItem 中有一些默认逻辑,请使用基类而不是接口。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)