在.net2.0中 Class A:Class BList<B> listB as List<A> ListA 不能通过编译器,你们是怎么解决的?必须将listB 转换为 IList 或者 object ?
2 回答
慕码人8056858
TA贡献1803条经验 获得超6个赞
lz明明说的是2.0嘛,哪里来的Cast方法?。。。
lz可以自行编写一个Cast方法,遍历List<A>,把每个A转换成B,如
static IEnumerable<TResult> Cast<TResult>(IEnumerable source) where TResult : class
{
foreach (object o in source)
{
TResult result = o as TResult;
if (o == null)
throw new InvalidCastException("can't cast");
yield return result;
}
}
A虽然继承于B,但是List<A>与List<B>并不存在继承关系。
- 2 回答
- 0 关注
- 404 浏览
添加回答
举报
0/150
提交
取消