|
1
15
我建议采用第三种方法: 编辑: 我已经更新了这个代码示例,以反映下面的OP注释。
大多数时候不需要自定义集合——我假设这是其中之一。此外,还可以将实用程序方法添加到类型(在本例中,
我最后的建议是从返回接口类型
|
|
|
2
3
在我看来,他们两个都有点奇怪和困惑。当您扩展集合类时,您有点暗示您的类是一个集合,因此它包含数据。我认为,当您在第一种情况下使此方法静态化时,它将最有意义:
|
|
|
3
2
如果您真的想要CustomerCollection类上的那些方法,那么我建议
或
但是,我认为您的CustomerCollection类是多余的,如果消费者想要获取一组客户对象,他们可以直接转到DAL。 |
|
|
4
1
另一种方法是:
|
|
|
5
1
我将把findcustomers方法放在dal类中,或者创建一个finder类来保存该方法。很可能你以后会需要更多的查找方法。 |
|
|
6
0
在第一个示例中扩展集合,但从不使用CustomerCollection存储任何客户。相反,您返回的是一个集合<客户>。我的建议是:
像这样使用:
你的第二个例子也有点奇怪,因为如果你给findcustomers打两次电话,你会在列表中给每个客户打两次电话。 |
|
|
7
0
如果你这样做怎么办:
在构造函数中使用list可以让您在类中使用list中有用的方法,而无需编写自己的实现。 |
|
|
8
0
我将把这个扩展方法添加到安德鲁的建议中:
像这样使用:
或者如果你按照安德鲁的建议返回接口类型,
|