当前位置:  开发笔记 > 编程语言 > 正文

逻辑及其对Collections.Generic和继承的应用

如何解决《逻辑及其对Collections.Generic和继承的应用》经验,为你挑选了1个好方法。

一切都从对象继承.这是继承的基础.一切都可以隐式地构建继承树,即.

object me = new Person();

因此,遵循这个逻辑结论,一群人也将成为一组对象:

List people = new List();
people.Add(me);
people.Add(you);
List things = people; // Ooops.


除了,这不起作用,设计.NET的人要么忽略了这个,要么就是有原因,我不确定是哪个.至少有一次我遇到了一个有用的情况,但我不得不最后使用一个讨厌的黑客(子类化List只是为了实现一个强制转换操作符).

问题是:这种行为有原因吗?是否有更简单的解决方案来获得所需的行为?

为了记录,我相信我想要这种行为的情况是一个通用的打印功能,它通过调用ToString()并很好地格式化字符串来显示对象列表.



1> Hamish Smith..:

好的,在.net中使用泛型的每个人都必须在某个时刻碰到这个问题.

是的,直觉它应该工作.不,在当前版本的C#编译器中它没有.

Eric Lippert对这个问题有一个非常好的解释(它有11个部分或者什么东西,会让你在某些地方弯曲,但是值得一读).看到这里.

编辑:

挖出另一个相关的链接,这个讨论java如何处理这个.看到这里

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有