In other words, is it correct to use:
public class CustomerList : System.Collections.Generic.List<Customer> { /// supposed to be empty }
instead of:
using CustomerList = System.Collections.Generic.List<Customer>
I’d rather use the first approach because I’d just define CustomerList once, and every time I needed a customer list I’d always use the same type. On the other hand, using the name aliasing approach not only forces me to have to redefine it everywhere, but also a different alias could be given every time someone wanted to use it (think of a big team), and thus cause the code to be less readable.
Please note that the intention in this case would never be to extend the class, just to create an alias.
Don’t do it. When people read:
they immediately understand it. When they read:
they have to go and figure out what a CustomerList is, and that makes your code harder to read. Unless you are the only one working on your codebase, writing readable code is a good idea.