日期:2014-05-20  浏览次数:20806 次

从0开始编程
整天在用.NET的基类,但对这些基类是如何写成的却知之甚少.大家是否可以来讨论一下.
从最根本的开始,Object类是基类的根,有谁有它的源代码?贴出来看看?
如果什么基类也不用,有谁可以写出文本框类(TextBox),有谁知道它的源代码?能否贴出来看看?


------解决方案--------------------
果然是爱研究的好孩子。刨根问底!
------解决方案--------------------
非常好...建议你改学C++...
------解决方案--------------------
呵呵
------解决方案--------------------
有点困难...
------解决方案--------------------
听说过Reflector吗?
有了它,.NET framework源代码随你看
另外,.NET framework已经可以看到源代码了,到网上找找资料吧,不过要用VS2008才行。
------解决方案--------------------
想干吗?

开发个操作系统出来?
------解决方案--------------------
TextBox就不贴了,太长
而且TextBox继承自更长的TextBoxBase
而TextBoxBase继承自超级长的Control,Control还要继承自Component和一大堆接口
估计看完整了要几万行代码
------解决方案--------------------
MFC / VCL 都有中文的牛书剖析过了, .net 库会不会有呢?
------解决方案--------------------
我先把当前的事做好到
------解决方案--------------------
Object 类是一个超级类,是一切类的父类
没有object,应该写不出TEXTBOX
------解决方案--------------------
你了解Object的源码,又能有什么用呢?
------解决方案--------------------
C#已经将它给封装起来了,如果你真想知道,也许去MSDN上能查到一些,但是微软向来都是这样,很少公布原代码的,还是要靠自己去钻研了
------解决方案--------------------
探讨
Object源代码

C# code
[Serializable, ComVisible(true), ClassInterface(ClassInterfaceType.AutoDual)]
public class Object
{
// Methods
public virtual bool Equals(object obj)
{
return InternalEquals(this, obj);
}

public static bool Equals(object objA, object objB)
{
return ((objA == objB) || (((objA != null) && (objB != null)) && objA.Equals(o…