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)充当什么角色?是类型转换吗?是什么类型?
..........
}}
{
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)充当什么角色?是类型转换吗?是什么类型?
..........
}}
public CrawlerThread(Downloader d)//这个是构造函数吧?
--------------
是...带参数的构造函数...CrawlerThread crawler = (CrawlerThread)data;
--------------
不是实例化...只是将参数data强制转换为CrawlerThread类型,这种转换如果data为null或者不是CrawlerThread类型将导致异常...如果不希望抛异常可以用CrawlerThread crawler = data as CrawlerThread;代替...as运算符仅用于引用类型...另外...不存在“在同一个类里可以引用类自己”的说法,这是OOP不是过程式编程...类型是类型,实例是实例,还没有实例化哪儿来的引用哪儿来的自己...
2. public static void DoWork(object data)//方法传进的是个Object
{ CrawlerThread crawler = (CrawlerThread)data;//把Object转换成CrawlerThread类型的
}
CrawlerThread 是一个类, 怎么也是个数据类型呢?