Visual C#多线程参数传递浅析

豆豆网   技术应用频道   2007年09月06日  【字号: 收藏本文

内容摘要:下面就简单的介绍如何使用.NET提供的丰富的框架来实现这个功能。为了可以生动详细的介绍整个过程,我建立下面的一个.NET类,它也是要用线程启动的方法的载体。

  我们在写Remoting程序或者其他的一些应用程序的时候难免要和线程打交道,.Net使我们很容易就可以创建一个线程,但是它提供的创建线程和启动线程的方法没有明显的提供参数,假如我们要用线程来启动类里面一个带参数的方法该怎么办?下面就简单的介绍如何使用.NET提供的丰富的框架来实现这个功能。为了可以生动详细的介绍整个过程,我建立下面的一个.NET类,它也是要用线程启动的方法的载体。类如下所示:

using System;
namespace WindowsApplication1
{
  /// <summary>
  /// Summary description for UrlFetcher.
  /// </summary>
  public class MyClass{
   // for method 1
   private string _parameter;
   public MyClass(string parameter){
    this._parameter = parameter;
   }
  public void MyMethod1(){
   if(this._parameter!=null){
    // do something
    Console.Write(this._parameter);
   }
  }
  // for method 2
  public MyClass(){}
  // this method is private,But it can be public or other
  private void MyMethod2(string parameter){
   // do something
   Console.Write(parameter);
  }
  // Because delegate WaitCallback's parameter Type is object
  // I will convert it to string.
  public void MyMethod2(object parameter){
   this.MyMethod2((string)parameter);
  }
  // for method 3
  public string MyMethod3(string parameter){
   return "参数值为:"+parameter;
  }
  // for mutil-parameters passed
  public string MyMutilParameters(string param1,string param2){
   return "参数1和参数2连接结果为:"+param1+param2;
  }
}
}

作者:TonyWang    责编:豆豆技术应用

正在加载评论...