PetShop4.0里的一个例子,谁能解释下,马上结
/// <summary>
/// Method to get all categories(获得所有宠物种类方法)
/// </summary>
public IList <CategoryInfo> GetCategories() {
IList <CategoryInfo> categories = new List <CategoryInfo> ();
//Execute a query to read the categories
using(SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_CATEGORIES, null)) {
while (rdr.Read()) {
CategoryInfo cat = new CategoryInfo(rdr.GetString(0), rdr.GetString(1), rdr.GetString(2));
categories.Add(cat);
}
}
return categories;
}
在 public IList <CategoryInfo> GetCategories() { 中, IList <CategoryInfo> 用法不太明白,望大家解释下
------解决方案--------------------用接口是为了降低耦合度
即使将来改为另外一种集合类,只要仍然实现IList <T> 接口,使用集合的代码不用修改可以继续用
------解决方案--------------------泛型集合List <CategoryInfo> ,这个List中只能加入CategoryInfo实例。主要是为安全性考虑。
你想如果这个list中加入了其他的数据类型,那在处理的时候不就要出错了吗?