一切都从对象继承.这是继承的基础.一切都可以隐式地构建继承树,即.
object me = new Person();
因此,遵循这个逻辑结论,一群人也将成为一组对象:
Listpeople = new List (); people.Add(me); people.Add(you); List
除了,这不起作用,设计.NET的人要么忽略了这个,要么就是有原因,我不确定是哪个.至少有一次我遇到了一个有用的情况,但我不得不最后使用一个讨厌的黑客(子类化List只是为了实现一个强制转换操作符).
问题是:这种行为有原因吗?是否有更简单的解决方案来获得所需的行为?
为了记录,我相信我想要这种行为的情况是一个通用的打印功能,它通过调用ToString()并很好地格式化字符串来显示对象列表.
好的,在.net中使用泛型的每个人都必须在某个时刻碰到这个问题.
是的,直觉它应该工作.不,在当前版本的C#编译器中它没有.
Eric Lippert对这个问题有一个非常好的解释(它有11个部分或者什么东西,会让你在某些地方弯曲,但是值得一读).看到这里.
挖出另一个相关的链接,这个讨论java如何处理这个.看到这里