【发布时间】:2010-10-18 08:10:53
【问题描述】:
我有以下类层次结构:
public abstract class BaseData
{
//some properties
}
public class CoData : BaseData
{
//some properties
}
我正在使用一种要求返回类型为List<BaseData> 的方法。在方法中,我可以访问List<CoData>
public List<BaseData> Save()
{
List<CoData> listCoData = GetData();
return listCoData;
}
如果我理解正确,我可以从 CoData 向上转换为 BaseData。但是,当我有一个列表时,即使我明确尝试进行类型转换,它也会出错。
错误:
Error 118 Cannot implicitly convert type 'System.Collections.Generic.List<CoData>' to System.Collections.Generic.List<BaseData>'
编辑:
mquander 的转换方法在 3.0 中似乎对我有用
向下转换的方式也一样吗?来自
即,我可以这样做吗 - List<CoData> listCoData = listBaseData.Cast<BaseData>().ToList();
【问题讨论】: