作者:不及格的程序员-八神
事起有音:
相关链接
http://www.cnblogs.com/allenlooplee/archive/2007/01/22/627386.html System.Object 是 .NET 中所有类型的根吗
http://www.cnblogs.com/anytao/archive/2009/03/05/must_net_27.html interface到底继承于object吗
看看吧,后果很严重,知道又能怎么样呢, 谁知道你的类父类是什么,就连CLR都不知道,你还指望谁?
接口根继承Object有直接关系吗? 没有,接口:契约而,那它方法从哪来-----因为引用类型的方法表中有定义(CLR自动为你生成).

源码:
1
3 using System;
4
5 namespace Test
6 {
7 public interface ITest
8 {
9 void No();
10 }
11
12 public class Obj1
13 {
14 }
15
16 public class Obj2 : ITest
17 {
18 public void No(){}
19 }
20
21 }
中间码:

Code
1
2
3
4 // Microsoft (R) .NET Framework IL Disassembler. Version 3.5.30729.1
5
6
7
8
9 // Metadata version: v2.0.50727
10 .assembly extern mscorlib
11 {
12 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
13 .ver 2:0:0:0
14 }
15 .assembly '1'
16 {
17 .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
18 .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 //
.T..WrapNonEx
19 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
20 .hash algorithm 0x00008004
21 .ver 0:0:0:0
22 }
23 .module '1.dll'
24 // MVID: {176435F4-DB87-437C-A621-B1370EF3AB88}
25 .imagebase 0x00400000
26 .file alignment 0x00000200
27 .stackreserve 0x00100000
28 .subsystem 0x0003 // WINDOWS_CUI
29 .corflags 0x00000001 // ILONLY
30 // Image base: 0x03360000
31
32
33 // =============== CLASS MEMBERS DECLARATION ===================
34
35 .class interface public abstract auto ansi Test.ITest
36 {
37 .method public hidebysig newslot abstract virtual
38 instance void No() cil managed
39 {
40 } // end of method ITest::No
41
42 } // end of class Test.ITest
43
44 .class public auto ansi beforefieldinit Test.Obj1
45
46 {
47 .method public hidebysig specialname rtspecialname
48 instance void .ctor() cil managed
49 {
50 // 代码大小 7 (0x7)
51 .maxstack 8
52 IL_0000: nop
53 IL_0001: ret
54 } // end of method Obj1::.ctor
55
56 } // end of class Test.Obj1
57
58 .class public auto ansi beforefieldinit Test.Obj2
59
60 implements Test.ITest
61 {
62 .method public hidebysig newslot virtual final
63 instance void No() cil managed
64 {
65 // 代码大小 2 (0x2)
66 .maxstack 8
67 IL_0000: nop
68 IL_0001: ret
69 } // end of method Obj2::No
70
71 .method public hidebysig specialname rtspecialname
72 instance void .ctor() cil managed
73 {
74 // 代码大小 7 (0x7)
75 .maxstack 8
76 IL_0000: nop
77 IL_0001: ret
78 } // end of method Obj2::.ctor
79
80 } // end of class Test.Obj2
81
82
83 // =============================================================
84
85 // *********** 反汇编完成 ***********************
86 //
南来地,北往的,上班的,下岗的,走过路过不要错过!
======================个性签名=====================
之前认为Apple 的iOS 设计的要比 Android 稳定,我错了吗?
下载的许多客户端程序/游戏程序,经常会Crash,是程序写的不好(内存泄漏?刚启动也会吗?)还是iOS本身的不稳定!!!
如果在Android手机中可以简单联接到ddms,就可以查看系统log,很容易看到程序为什么出错,在iPhone中如何得知呢?试试Organizer吧,分析一下Device logs,也许有用.
对于博客园里的网友,不敢称为叫"程序员"的人,你们攻击性太强,看来你们是不会想到我的用意的.园子里有不少人都非常喜欢Jeffrey,是因为它的第一版 框架设计 CLR via C#.
可是从第一版到现在的第三版,没有看到真正底层的东西,内容仅仅是比MSDN文档更丰富一些,可能是我的要求太高了吧.
也就是因为它很多时候会接触到微软开发人员,会经常聊聊某些问题而已,而它又将这些问题反应到书中.也许它就像一个小记者.
它的年龄大我们不多,我的孩子与它小儿子一般大,如果我能向它那样出入微软与它们开发人员长时间交流,不仅仅会牛成它这样.....
可是微软的开发人员不会扔太多时间在它这儿的.所以它会整天追着这个,赶它那个..屁颠个不停吧...
而它的另一版被称为好书的 Windows核心编程,更是没有什么深度可言,仅仅是将windows提供的api,以及内核功能再重申了一遍.
这些书对晋及编程知识是有些贡献的,再说一遍我不是在匾低谁,说说想法而已.