![]() |
1
6
不要这样做。当人们阅读时:
他们立刻明白了。当他们读到:
他们必须去弄清楚客户列表是什么,这使得代码更难阅读。除非您是唯一一个使用代码库的人,否则编写可读代码是一个好主意。 |
![]() |
2
11
好吧,除非您要向基类添加一些功能,否则创建包装器对象是没有意义的。如果你真的需要的话,我会选择数字2,但是为什么不创建一个变量呢?
|
![]() |
3
4
我同意 不 以这种方式使用别名。您的团队中的任何人都不应该以呈现的方式使用别名;这不是提供别名的原因。另外,从泛型的工作方式来看,无论您在多少地方使用它,都只有一个列表类。
除了声明和使用
将来的某一天,如果确实需要CustomerList集合类,则可以实现
|
![]() |
4
3
实际上你也不应该使用。这个 correct approach according to the framework design guidelines is to either use or inherit from System.Collections.ObjectModel.Collection<T> 在公共API中(列表<t>仅用于内部实现)。 但对于命名的特定问题,建议似乎是直接使用泛型类型名而不使用别名,除非需要向集合添加功能:
|
![]() |
5
3
使用继承进行别名/类型化设置时,存在要求重新定义相关构造函数的问题。 因为在任何地方这样做都很快变得不合理,为了一致性,最好避免这样做。 |
![]() |
6
1
这是一个“视情况而定”的问题。 如果您需要的是一个新的类,它除了满足您的其他需求外,还可以作为客户列表,那么继承就是方法。 如果您只想使用客户列表,那么使用变量。 |
![]() |
7
1
如果你只是想节省打字时间,那就用后者。这样你就不会碰到任何奇怪的继承问题。 如果您真的想要公开一个逻辑上不同的集合类型,那么使用前者——您可以返回并向它添加一些东西。
就我个人而言,我会用
|
![]() |
8
1
我基本上同意Ed。如果您不需要实际扩展泛型列表结构的功能,只需使用泛型列表:
如果您确实需要扩展这个功能,那么通常您会看到继承。 第三种可能性是,您需要从泛型列表构造中显著更改功能,在这种情况下,您可能只希望从IEnumerable继承功能。这样做可以使类在可枚举操作(如“foreach”)中可用,但允许您完全定义所有类行为。 |
![]() |
9
1
一个程序员在打字上的节省很可能是下一个程序员的维护噩梦。我要说的是,像这里很多人所说的,只要正确地输入通用的。它更清晰、更准确地描述了代码的意图,它将帮助维护程序员。(谁可能是你,六个月,四个新项目!) |
![]() |
Brendan · Java中从父类继承的对象的ArrayList 2 年前 |
![]() |
Tali · 继承-您应该使用基类,还是它们只是子类的框架? 2 年前 |
![]() |
mask2 · 如何轻松访问继承类的功能? 2 年前 |
![]() |
Dimon · 父类中的Setter,以及一些没有参数的子类 3 年前 |
![]() |
Miguerurso · Javascript类继承无法正常工作 3 年前 |
![]() |
GuessMe · 返回新类对象的正确方法(也可以扩展) 3 年前 |
![]() |
Daniel Lizik · 重写父类构造函数的子类成员初始值设定项 3 年前 |
![]() |
i_know_what · 以基类作为参数重写错误的方法 3 年前 |