C# 线程调用带参数的方法

示例1:以类实现 

       class Program

      { 

        static void Main(string[] args)

        {

            Test test = new Test("线程调用带参数的方法", "轻松搞定");

            Thread thread = new Thread(new ThreadStart(test.Write));

            thread.Start();

        }

    }

    public class Test

    {

        private string p1;

        private string p2;

        public Test(string par1,string par2)

        {

            p1 = par1;

            p2 = par2;

        }

        public void Write()

        {

            Console.WriteLine(p1);

            Console.WriteLine(p2);

        }

}

  

示例2:使用ParameterizedThreadStart //只能带一个object的参数 

class Program

    {

        static void Main(string[] args)

        {

            Program pro=new Program();

            Thread thread = new Thread(new ParameterizedThreadStart(pro.Write2));

            thread.Start("线程调用带参数的方法");

        }

        public void Write2(object par)

        {

            Console.WriteLine(par);

 

        }

}

示例3:使用静态变量,属性 //慎用

static void Main(string[] args)

        {

            Program pro=new Program();

            Thread thread = new Thread(new ThreadStart(pro.Write3));

            thread.Start();

        }

        public void Write3()

        {

            Console.WriteLine(Par);

        }

public static string Par

        {

            get

            {

                return "线程调用带参数的方法";

            }

        }

 

 

 
    
class Program
{
// 定义一个多参数的委托
private delegate void SayHello( params object [] obj);
private static Test test = new Test();
// 把委托的方法指针指向Test类的Say方法
private static SayHello say = new SayHello(test.Say);
static void Main( string [] args)
{
// 线程调用代理方法
Thread newThread = new Thread( new ThreadStart(Execute));
newThread.Start();
}

static void Execute()
{
// 给Say方法传参
say( " Hi " , " " , " I'm " , " " , " Bob " );
}
}
class Test
{
public void Say( params object [] obj)
{
foreach ( object o in obj)
{
Console.Write(o.ToString());
}
}
}


 

 
 
注:此文章转载至 白衣轩

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值