读书人

启动线程编译报错.请教是什么原因

发布时间: 2012-02-02 23:57:14 作者: rapoo

启动线程编译报错.请问是什么原因
在VS2005里的一个对话框程序里
我想启动一个线程
我把线程要做的东西放在了一个新生成的类ThTest,是一个单独的文件ThTest.cs
class ThTest
{
public ThTest()
{
}
public void Run()
{
while (true)
{
//...这里是线程执行的内容
Thread.Sleep(2000);
}
}
}
然后我在主FROM里启动线程,但是编译报错

ThTest myThread = new ThTest();
myThread = new Thread( myThread.Run );
//为什么这里编译的时候报
Cannot implicitly convert type 'System.Threading.Thread ' to 'Program.ThTest '
myThread.IsBackground = true;
myThread.Start();
请问该怎么做?

[解决办法]
private Thread mThread;
ThTest mThTest = new mThTest();
mThread = new Thread(new ThreadStart(mThTest.Run))
mThread.start();
[解决办法]
myThread = new Thread( new ThreadStart(myThread.Run ));
[解决办法]
TO:ThTest myThread = new ThTest();
myThread = new Thread( myThread.Run );

楼主把ThTest和Thread弄混了吧...

你这里的myThread明明是ThTest类型的,又怎么能实例化成Thread类型的呢?

读书人网 >C#

热点推荐