社区
C#
帖子详情
子类转List集合
wvtjplh
2016-09-25 04:23:06
class A继承自抽象类 B
我把类a获取的datatable转为集合,有没有什么方法可以不用每次先去判断类型手工写大量的代码?
List<抽象类> list=ListHelp.GetList<抽象类>(dt); 报错
这个抽象类如何变成具体的子类的class
List<A类> list=ListHelp.GetList<A >(dt); 就没问题,但是这样每次都要去判断是什么子类
...全文
296
6
打赏
收藏
子类转List集合
class A继承自抽象类 B 我把类a获取的datatable转为集合,有没有什么方法可以不用每次先去判断类型手工写大量的代码? List list=ListHelp.GetList(dt); 报错 这个抽象类如何变成具体的子类的class List list=ListHelp.GetList(dt); 就没问题,但是这样每次都要去判断是什么子类
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
闭包客
2016-09-26
打赏
举报
回复
问题出在 GetList 方法。 要看报什么错。
threenewbee
2016-09-26
打赏
举报
回复
list.Select(x => (具体的类)x)
IE11下面经常卡到爆
2016-09-26
打赏
举报
回复
如果抽象类设计得足够好,在使用时就不需要去判断具体类型了,反过来,如果需要频繁判断类型,你的抽象类 - 子类设计得肯定有问题
游离失所
2016-09-26
打赏
举报
回复
还有一点。。 2.) List<抽象类> list=ListHelp.GetList<抽象类>(dt); 报错 这个抽象类如何变成具体的子类的class 这里的泛型如果是抽象类, 是不符合的。。 因为抽象类是做基类用的,不可以实例化。。既然没办法实例化,必须通过派生类去实例化,然后再as成这个抽象类。。而这个GetList又没有指定实例化的派生类的类型。。 1.要么改这个方法。 2.不要用抽象类做基类,去掉abstract
游离失所
2016-09-26
打赏
举报
回复
1.) class A继承自抽象类 B 我把类a获取的datatable转为集合,有没有什么方法可以不用每次先去判断类型手工写大量的代码? 可以用泛型+反射。。现阶段你了解这个就可以了。。 你要是更凶残点可以用DynamicMethod去动态的编织一个方法去进行转换。。 2.) List<抽象类> list=ListHelp.GetList<抽象类>(dt); 报错 这个抽象类如何变成具体的子类的class 如果你用了泛型+反射的方式去构建GetList方法。肯定就不会报错了。。 因为A是B的派生类。。基类B的成员只会比A少,不会比A多。。也就是说,A有的B都有。。而B有的A不一定有。 那dt竟然可以转A。那必然可以转B了。 3.)List<A类> list=ListHelp.GetList<A >(dt); 就没问题,但是这样每次都要去判断是什么子类 回归问题1 你也可以把代码发出来,自己手动硬编码一些模拟数据,这样我们才能更好的帮助你
plcly1
2016-09-25
打赏
举报
回复
抽象类不能实例化
java set
集合
转
数组_Map、Set、
List
及其
子类
和接口你都明白吗?看这篇Java
集合
超详解...
本文介绍了Java
集合
类出现的原因,对比了数组和
集合
类的不同,阐述了
集合
类只用于存储对象、长度可变、可存不同类型对象的特点。详细分析了Collection和Map接口下各
集合
的特性、结构、优缺点,如
List
有序可重复,Set唯一,Map双列唯一等。
Java8新特性Stream流之
List
、Map互
转
、去重、过滤
本文介绍Java8新特性Stream流,可对
List
、Map进行互
转
、去重、过滤等操作。Stream操作分中间和最终操作,数据源多为Collection
子类
。文中给出过滤、排序、映射等具体使用示例,还展示实体类
集合
属性
转
list
、
转
map,以及
集合
去重、过滤等代码。
java jsonarray
转
list
_Java程序员容易犯的10大低级错误
本文总结了Java开发者常犯的十大错误,包括Array
转
Array
List
、判断数组包含值的简便方法、循环中删除
List
元素的注意事项、HashTable与HashMap的区别、
集合
原始类型的误用、访问级别的不当设置、Array
List
与Linked
List
的选择、不可变对象的应用、父类与
子类
构造方法的理解及字符串创建方式的区别。
list
.toArray()
集合
转
换为数组对象
本文详细解析了Java中如何将
List
集合
正确
转
换为特定类型的数组,避免了直接强制类型
转
换可能引发的ClassCastException错误,并提供了正确的
转
换示例。
泛型系列教材 (四)- Java 中的
子类
泛型
转
型 成父类泛型
本文深入探讨Java中对象
转
型及
子类
泛型
转
父类泛型的可行性,通过实例讲解为何
子类
泛型不能
转
换为父类泛型,揭示了Java泛型背后的设计原则。
C#
111,129
社区成员
642,533
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章