代码之家  ›  专栏  ›  技术社区  ›  Tigraine

C语言中两种不同类型的列表#

  •  4
  • Tigraine  · 技术社区  · 16 年前

    目前我的客户购物车有问题。

    他希望能够在CartItems之间添加文本,所以我想知道是否有办法仍然只有一个列表。

    我的解决方案是有两个列表,一个是IList类型的列表,在计算购物车的重量和总价格时会被迭代,而另一个IList类型的列表仅公开在ListView中显示购物车所需的字段,这是CartItem的超类型。(然后,我将访问其他类中的price和weight字段,但对于LSP,我将如何访问这些字段)。

    欢迎任何建议,我对两种选择都不太满意。

    3 回复  |  直到 16 年前
        1
  •  19
  •   FlySwat    16 年前

    使用接口:

     ICartListItem
    

    并将您的清单列为:

     List<ICartListItem>
    

    或者,如果希望CartItem中有一些默认逻辑,请使用基类而不是接口。

        2
  •  1
  •   jonsca    12 年前

    例如,如果我想列出 string bool s、 我将在一个类中创建两个属性,然后创建该类的列表。

        3
  •  0
  •   Joel Coehoorn    16 年前

    另外:确保您的客户了解此功能在安全开销方面的成本。听起来他们认为这应该是一个简单的更新,但你允许用户输入文本,并直接显示回页面,这是一个危险的主张。