[英]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.