我有一些复数项类,每个类都有单数项类的集合,如下所示:
public class Contracts : Items
{
public List<Contract> _collection = new List<Contract>();
public List<Contract> Collection
{
get
{
return _collection;
}
}
}
public class Customers: Items
{
public List<Customer> _collection = new List<Customer>();
public List<Customer> Collection
{
get
{
return _collection;
}
}
}
public class Employees: Items
{
public List<Employee> _collection = new List<Employee>();
public List<Employee> Collection
{
get
{
return _collection;
}
}
}
我可以想象我可以使用泛型来将它放到父类中。我怎么能这样做,我想它看起来像这样:
伪码:
public class Items
{
public List<T> _collection = new List<T>();
public List<T> Collection
{
get
{
return _collection;
}
}
}
答案 0 :(得分:6)
这是完全正确的,除了你还需要{:1}}之后的项目:
<T>
要实例化:
public class Items<T>
{
public List<T> _collection = new List<T>();
public List<T> Collection
{
get
{
return _collection;
}
}
}
答案 1 :(得分:5)
是的,虽然物品也必须是通用的。
public class Items<TItem>
{
private IList<TItem> _items = new List<TItem>();
public IList<TItem> Collection
{
get { return _items; }
}
// ...
}
让Items继承自IEnumerable<TItem>
也许是有意义的。