Mat*_*ley 3 .net collections inheritance
一切都从对象继承.这是继承的基础.一切都可以隐式地构建继承树,即.
object me = new Person();
Run Code Online (Sandbox Code Playgroud)
因此,遵循这个逻辑结论,一群人也将成为一组对象:
List<Person> people = new List<Person>();
people.Add(me);
people.Add(you);
List<object> things = people; // Ooops.
Run Code Online (Sandbox Code Playgroud)
除了,这不起作用,设计.NET的人要么忽略了这个,要么就是有原因,我不确定是哪个.至少有一次我遇到了一个有用的情况,但我不得不最后使用一个讨厌的黑客(子类化List只是为了实现一个强制转换操作符).
问题是:这种行为有原因吗?是否有更简单的解决方案来获得所需的行为?
为了记录,我相信我想要这种行为的情况是一个通用的打印功能,它通过调用ToString()并很好地格式化字符串来显示对象列表.
归档时间: |
|
查看次数: |
613 次 |
最近记录: |