簡體   English   中英

C#中兩種不同類型的列表

[英]List of two different Types in C#

我目前正在為我的客戶購買ShoppingCart。

他希望能夠在CartItems之間添加Text,所以我想知道是否還有一些方法仍然只有一個List。

我的解決方案是有兩個列表,一個類型IList,在計算重量和購物車的整體價格時迭代,同時有另一個IList,它只公開在ListView中顯示它的必要字段,並且是CartItem的超類型。 (但是,如何訪問listView的其他字段,在Description-Text-Class中將默認權重和價格設置為0會破壞LSP)。

但是有兩個列表感覺有點奇怪(並且仍然給我帶來問題),所以我想知道我是否可以做一些TypedList,其中我指定每個項目的類型。

歡迎任何建議,我對這兩個選項都不滿意。

使用界面:

 ICartListItem

並列出您的清單:

 List<ICartListItem>

現在,創建幾種類型,讓所有類型都實現此接口,並且您可以將它們安全地存儲在列表中。

或者,如果您希望CartItem中有一些默認邏輯,請使用基類而不是接口。

您可以創建一個類,並在其中定義所需列表類型的屬性,然后創建相同類的列表。

例如,如果我想創建一個string s和bool的列表,我會在一個類中創建兩個屬性,然后創建該類的列表。

界面聽起來有點矯枉過正。 我只是在當前的CartItem中添加一個名為“TextAfterItem”的屬性。

另外:確保您的客戶在安全開銷方面了解此功能的成本。 聽起來他們認為這應該是一個簡單的更新,但是你允許用戶輸入將直接顯示回頁面的文本,這是一個危險的命題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM