Thread t = new Thread(new ThreadStart(传入的方法));
这里的传入方法要求是void类型且无参数的。如果我要传一个带返回类型且带参数的方法给线程,如public string GetMsg(int kID,string kName)请问如何做?谢谢!

解决方案 »

  1.   

    我只见过带一个参数的线程函数,就是你strat的时候可以传入一个参数
    所以这时候,你可以把你的所谓参数写一个结构体,然后传递进去应该也可行吧?
      

  2.   

    ThreadStart 委托没有参数
    ParameterizedThreadStart 委托可有参数
    Thread t = new Thread(new ParameterizedThreadStart(传入的方法));
    t.Start("参数");
      

  3.   

    好象不能有返回值。
    ClassA a = new ClassA();//定义AA方法、BB属性
    Thread t = new Thread(new ParameterizedThreadStart(a.AA));
    t.Start("参数");
    while(t.IsAlive)
    {
       Thread.Sleep(1000);
    }
    返回值 = a.BB;
      

  4.   

    是哦。好像是不能有返回值。
    谢谢apple。
      

  5.   

    使用ParameterizedThreadStart委托。默认的ThreadStart不支持委托参数。MSDN上有详细的关于这两个委托的介绍