为了账号安全,请及时绑定邮箱和手机立即绑定

泛型List的继承

泛型List的继承

慕斯709654 2018-10-25 04:05:14
在.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>并不存在继承关系。 


查看完整回答
反对 回复 2018-10-30
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

listB.Cast<A>().ToList()

查看完整回答
反对 回复 2018-10-30
  • 2 回答
  • 0 关注
  • 404 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信