【发布时间】:2012-11-27 17:20:26
【问题描述】:
基本上,我正在将 SQL 数据表转换为可以成功完成的通用列表。但我不知道如何返回列表对象。我收到一个错误,说是 - 无法将类型 System.Collections.Generic.IList 隐式转换为 System.Collections.Generic.List
将 theList 作为 List 类型返回的正确方法是什么?
public List<MyObject> GetAllMyObjects()
{
String command = "select * from names ";
DataTable tableResult = DataTableToList.ExecuteDataTable(command, CommandType.Text, null,connectionString);
IList<MyObject> theList = DataTableToList.ConvertTo<MyObject>(tableResult);
return // I’m not sure how to return theList here...
}
【问题讨论】:
-
通常你希望返回接口,这样事情就更松散耦合,因此更容易换出。为什么要专门返回
List<T>? -
@YYY 通常我更喜欢返回可能的最低级别类型,除非我故意掩盖某些东西。如果他们只想将其视为简单的界面;如果他们需要访问较低级别的类型(例如在这种情况下),他们就需要开始执行诸如强制转换之类的事情,这会导致问题。