取多线程步骤返回值

取多线程方法返回值
在类A中调用类B 的方法Method1,Method1是一个多线程的方法,
string str = "";
while(true)
{
      switch (xxx)
      {
           case "A":
                   str = "xxxxxxxxxx";
                   break; 
          case "B" :
      }
}

如何在类A中获取 Method1方法中的str值
------解决思路----------------------
引用:
while(true)
{
   //
}
如何将结果返给 类A中,线程还要继续,最好给点代码说明

楼主去学一下关于委托的知识,给你个简单例子

 class Program
     {
         static void Main(string[] args)
         {
             MainThreadClass mt = new MainThreadClass();
             mt.Start();
         }
     }

     public class MainThreadClass
     {
         string[] arrStr = new string[] { "Microsoft", "IBM", "Oracle" };

         public void Start()
         {
             foreach (string str in arrStr)
             {
                 SubTreadClass st = new SubTreadClass();
                 st.Completed += new EventHandler(st_Completed);
                 ThreadStart ts = new ThreadStart(st.Method);
                 Thread th = new Thread(ts);
                 th.Name = str;
                 th.Start();
             }
         }

         void st_Completed(object sender, EventArgs e)
         {
             Console.WriteLine("Thread completed.");
         }


     }

     public class SubTreadClass
     {

         private event EventHandler m_eventCompleted = null;

         public event EventHandler Completed
         {
             add { m_eventCompleted += value; }
             remove { m_eventCompleted -= value; }
         }

         public void Method()
         {
             Console.WriteLine(string.Format("Current thread:{0}:{1}", Thread.CurrentThread.Name,
                 "MyClass.Method() executed."));
             if (m_eventCompleted != null)
             {
                 m_eventCompleted(this, EventArgs.Empty);
             }
         }
     }

------解决思路----------------------
引用:
while(true)
{
   //
}
如何将结果返给 类A中,线程还要继续,最好给点代码说明

1.在类B里放个全局public变量,类A中访问
2.在类A里放个全局public数组,类B里线程直接写入数组
------解决思路----------------------
使用异步委托调用,如果你需要该方法返回的结果,则BeginInvoke的返回值很重要,BgeinInvoke将返回一个IAsyncResult,这可以和委托的EndInvoke配合使用,以在方法调用完毕后检索调用结果