线程代理综合小实例,还有传递参数的方法
using System;
using System.Threading;
namespace ThreadDelegate2
{
/// <summary>
/// ThreadDelegate2 的摘要说明。
///
/// 这个例子
/// 微软的教程中的实例
/// 由于自己的疏忽造成了一格委托与方法不匹配的错误
/// 提示错误:E:\thread\ThreadDelegate2\Class1.cs(31): 方法“ThreadDelegate2.SimpleThread.Args.work(object)”与委托“void System.Threading.ThreadStart()”不匹配
/// </summary>
public class SimpleThread
{
public delegate void Start(object o);
private class Args
{
public object o;
public Start s;
public void work(boject o)//这里出错应该为:public void work()
{
s(o);
}
}
public static Thread CreateThread(Start s,object arg)
{
Args a=new Args();
a.o=arg;
a.s=s;
Thread t=new Thread(new ThreadStart(a.work));
return t;
}
}
class Worker
{
public static void WorkerMethod(object o)
{
Console.WriteLine("参数为:"+o);
}
}
class Work
{
public static void Main(string[] args)
{
Thread t=SimpleThread.CreateThread(new SimpleThread.Start(Worker.WorkerMethod),"输入参数");
t.Start();
t.Join(Timeout.Infinite);
}
}
}

浙公网安备 33010602011771号