正如基思注意到,重命名是一个好的开始。
如果你真正想要的是表示对象的名单列表的对象,就可以实现它没有简单地嵌套泛型创建新的数据结构:
public List<List<Customer>> CustomerLists;
这就是说,它似乎你试图建模一个订购系统。像这样的伎俩:
class Customer
{
public Customer(string firstName, string lastName)
{
FirstName = firstName;
LastName = lastName;
}
public string FirstName { get; }
public string LastName { get; }
}
class Vendor
{
public Vendor(string name, IEnumerable<Product> products)
{
Name = name;
Products = new HashSet<Product>(products);
}
public bool HasStock(Product product, double quantity)
{
// determine if product is currently in stock...
}
public string Name { get; }
public HashSet<Product> Products { get; }
}
class Product
{
// ... common product data.
}
class Order
{
public Order(
DateTime createDate, Customer customer,
Vendor vendor, Product product, double quantity)
{
CreateDate = createDate;
Customer = customer;
Vendor = vendor;
Product = product;
Quantity = quantity;
}
public DateTime CreateDate { get; }
public Customer Customer { get; }
public Vendor Vendor { get; }
public Product Product { get; }
public double Quantity { get; }
}
很难判断一个设计,不知道的要求。这个数据结构正在解决什么问题? –