C#使用静态类来创建类的集合或使用集合类

时间:2014-01-23 15:59:56

标签: c# class collections static

我有设计问题,

基本上,我有一个名为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类,创建它的实例,执行相同的SQL查询,然后返回结果来创建类的集合。但是该类不会提供额外的功能,也可能永远不会(Currency本身也是如此。

在其他情况下,我使用扩展集合,因为他们需要根据集合的内容存储其他信息。

但在这种情况下,不会创建其他信息或提供功能。

那么,哪种设计更实用? 如果有这些解决方案的替代方案,我会非常乐意听到它。

1 个答案:

答案 0 :(得分:0)

我建议只填充List<Currency>然后将其作为IList<Currency>返回。这样,如果您将来更改它以使用自定义集合,您将不会破坏任何消费者。