簡體   English   中英

C#使用靜態類創建類的集合或使用集合類

[英]C# to use static class to create collection of the class or to use collection class

我有一個設計問題

基本上,我有一堂課叫做Currency

public class Currency
{ 
     public int ID;
     public string Name;
     public int RoundingValue;

     public Currency() { }

     public void GetData() { // Some SQL query code // }
}

有時,有必要獲取系統中存在的所有貨幣,以便做出決定匯率,付款兼容性等的決定。

我看到了兩種方法(獲取數據):

1)在Currency類中創建一個靜態方法來執行此操作。 這涉及在其中創建SQL連接實例(不確定是否正確),創建List<Currency>實例以存儲集合,然后將其傳遞給類。

2)通過擴展Collections.BaseCollection類,創建該類的Collections.BaseCollection ,使其成為實例,並執行相同的SQL查詢,然后返回結果。 但是該類將不提供任何附加功能,而且可能永遠不會提供(與Currency本身相同)。

在其他情況下,我使用擴展的集合,因為它們需要根據集合的內容存儲其他信息。

但是在這種情況下,不會創建其他信息或提供任何功能。

那么,哪種設計更實用呢? 如果有這些解決方案的替代方案,我將非常高興聽到。

我建議簡單地填充List<Currency>然后將其返回為IList<Currency> 這樣,如果您將來更改它以使用自定義集合,就不會破壞任何消費者。

暫無
暫無

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

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