1
35
Eric Lippert在一篇博客文章中谈到了这一点: Not everything derives from object (这是博客条目的标题;
是的,全部
更新:
从本质上讲,从引用类型派生的值类型没有问题。继承是两者之间的“是一种”关系
. 但是,为了将值类型视为对象实例,必须将其装箱。当您将值传递给需要对象参数的方法时(或者当您调用在中实现的实例方法时),这是隐式完成的
|
2
8
来自Eric Lippert的帖子:
在C#中,struct是System.ValueType的合成糖,这意味着System.Double派生自System.ValueType。 由于System.ValueType派生自System.Object,因此System.Double也派生自System.Object。 您可以看到,使用.Net Framework源代码或使用.Net Reflector:
在工具栏上,如果选择C#,您将看到(这是您正在看到的): alt text http://bqqqkg.bay.livefilestore.com/y1pk3EAm_SJtl4dn51HLrhdgHAXCS08-xY9nQUARCpT4WnBQyRHD4RLmIK9zZ4okJXMj7Xopg1EBuY_Od7_oWz7Pw/DoubleCSharp.jpg 如果更改组合框并选择IL,您将看到: alt text http://bqqqkg.bay.livefilestore.com/y1pRXk-0rDvFjj7b8EqU9-bydzpWjVGJMq8pDbiCr6aALob3j-aC9vvbeBS4vQRedHJ5Dh2CWtYRCywMJ9FGHOaaw/DoubleIL.jpg 请参见IL中的Double extends System.ValueType |
3
4
就在几周前 Eric Lippert 关于这一点的博客: Not everything derives from object . 一本好书。 |
4
3
ValueType 含蓄地 ,这反过来又派生自object。 除此之外,Eric Lippert在上面发布的链接是您想要阅读的。 |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
Dansih · .Net核心自定义身份验证方案 2 年前 |
lolorekkk · 面板插入。NET WinForm 2 年前 |