社区
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); 就没问题,但是这样每次都要去判断是什么子类
...全文
297
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 jsonarray
转
list
_Java程序员容易犯的10大低级错误
阅读目录Array
转
Array
List
判断一个数组是否包含某个值在循环内部删除
List
中的一个元素HashTable与HashMap使用
集合
原始类型(raw type)访问级别Array
List
和Linked
List
可变与不可变父类和
子类
的构造方法“”还是构造方法未来工作这个列表总结了10个Java开发人员最常犯的错误。Array
转
Array
List
当需要把Array
转
成Array
List
的时候,...
List
集合
与
List
的
子类
掌握了Collection接口的使用后,再来看看Collection接口中的
子类
,他们都具备那些特性呢? Collection中的常用几个
子类
(java.util.
List
集合
、java.util.Set
集合
)
List
接口介绍
List
接口特点: 它是一个元素存取有序的
集合
。例如,存元素的顺序是11、22、33。那么
集合
中,元素的存储就是按照11、22、33的顺序完成的。 ...
List
集合
及其
子类
1.
List
接口 实现了
List
接口的对象称为
List
集合
。在
List
集合
中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过索引来访问
集合
中的指定元素。另外,
List
集合
还有一个特点就是元素有序,即元素的存入顺序和取出顺序一致。
List
接口特点: 它是一个元素存取有序的
集合
。例如,存元素的顺序是11、22、33。那么
集合
中,元素的存储就是按照11、22、33的顺序完成的)。 它是一个带有索引的
集合
,通过索引就可以精确的操作
集合
中的元素(与数组的索引是一个道理)。
集合
中可以有
把父类
list
集合
中元素放在
子类
list
集合
中
用
子类
list
集合
存储父类
list
集合
中的元素,
子类
继承父类
C#
111,128
社区成员
642,533
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章