CrawlerThread 是一个类public class CrawlerThread
  {
  public CrawlerThread(Downloader d)//这个是构造函数吧?
  {
  m_thread = new Thread(CrawlerThread.DoWork);
  this.Downloader = d;
  this.Dirty = false;
  }
  public static void DoWork(object data)
  {  CrawlerThread crawler = (CrawlerThread)data;//请解释下这句,这句是实例货一个CrawlerThread的类吗?,//在同一个类里可以引用类自己吗? (CrawlerThread)充当什么角色?是类型转换吗?是什么类型?
  ..........
  }}

解决方案 »

  1.   

    不是實例對象,而是將object類型的參數強制轉換成CrawlerThread類型。屬於拆箱操作。
      

  2.   

    乱讲,不要什么都扯装拆箱...这里CrawlerThread是引用类型,根本不存在拆箱操作...
    public CrawlerThread(Downloader d)//这个是构造函数吧?
    --------------
    是...带参数的构造函数...CrawlerThread crawler = (CrawlerThread)data;
    --------------
    不是实例化...只是将参数data强制转换为CrawlerThread类型,这种转换如果data为null或者不是CrawlerThread类型将导致异常...如果不希望抛异常可以用CrawlerThread crawler = data as CrawlerThread;代替...as运算符仅用于引用类型...另外...不存在“在同一个类里可以引用类自己”的说法,这是OOP不是过程式编程...类型是类型,实例是实例,还没有实例化哪儿来的引用哪儿来的自己...
      

  3.   

    1.是构造函数,
    2. public static void DoWork(object data)//方法传进的是个Object
      {  CrawlerThread crawler = (CrawlerThread)data;//把Object转换成CrawlerThread类型的
      }
      

  4.   


    CrawlerThread 是一个类, 怎么也是个数据类型呢?