在c#中使用继承而不是名称别名是否正确?

Tra*_*rap 5 c# inheritance alias typedef

换句话说,使用是否正确:

public class CustomerList : System.Collections.Generic.List<Customer>
{
    /// supposed to be empty
}
Run Code Online (Sandbox Code Playgroud)

代替:

using CustomerList = System.Collections.Generic.List<Customer>
Run Code Online (Sandbox Code Playgroud)

我宁愿使用第一种方法,因为我只需要定义一次CustomerList,每次我需要一个客户列表时,我总是使用相同的类型.另一方面,使用名称别名方法不仅迫使我必须在任何地方重新定义它,而且每次有人想要使用它时都会给出不同的别名(想想一个大团队),从而导致代码不太可读.

请注意,在这种情况下的意图永远不会扩展类,只是为了创建一个别名.

Ed *_* S. 11

好吧,除非你在基类中添加一些功能,否则创建包装器对象是没有意义的.如果你真的需要,我会选择第二,但为什么不创建一个变量呢?

List<Customer> customerList = new List<Customer>();
Run Code Online (Sandbox Code Playgroud)


Hal*_*rim 6

不要这样做.当人们读到:

List<Customer> 
Run Code Online (Sandbox Code Playgroud)

他们立即明白了.当他们读到:

CustomerList
Run Code Online (Sandbox Code Playgroud)

他们必须去弄清楚CustomerList是什么,这会让你的代码更难阅读.除非你是唯一一个在代码库上工作的人,否则编写可读代码是个好主意.