您的位置:首页 > 其它

LIST父类子类

2015-12-04 10:26 309 查看

List<子类>转List<父类>过程中犯的一些错误

有两个类 

1 public
class A2
{3
public string Name{get;set;}
4 }5
6 public
class B:A7
{8
public int Age{get;set;}9 }
有一个方法,需要类B age作为条件,最后要返回的是其父类A的集合

1 public List GetAByAge(int age)2
{3
//方法体4 }
本心想着,B是A的子类,直接返回List即可,但实际是不行。于是我开始找原因,寻寻觅觅发现,原来思路出问题了。

事实是这样子的,虽然A是B的子类,但是List和List他的实际类型都是List,A、B只是List对象的一个泛型而已。所以,直接返回肯定是不行的,强转,自然也是有问题的。那要怎么解决呢?高手告诉我,其实List已经提供了这种转的方法。

比如b是List类型的一个对象,那么就可以利用b.Cast().ToList();来转换为List对象。

另外我也发现,可以这么写List a=newList(b);这种写法我没测试,大家可以试试,应该也是可以的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: