C# - 如何将委托传递给另一种方法?

时间:2009-06-07 12:52:20

标签: c# multithreading delegates methods void

我正在编写一个用于管理线程的课程。如何将需要线程的方法传递给我的帮助器类?

我将要做的就是创建一个新线程并将我传递的方法传递给新的ThreadStart()。

提前致谢。

4 个答案:

答案 0 :(得分:3)

我建议您从.NET 2.0开始查看BackgroundWorker类,而不是编写自己的类来管理线程。

答案 1 :(得分:3)

我不确定你传递void是什么意思,但这应该会有所帮助:

 void StartThread(ThreadStart method) {
     new Thread(method).Start();
 }

并将其命名为:

 StartThread(myMethod);

答案 2 :(得分:1)

您可以在.NET中将方法或函数作为委托传递

答案 3 :(得分:0)

        public static void Iteration(Happy ending) {
        Thread t = new Thread(new ThreadStart(ending));
        t.Start();
    }

    public delegate void Happy();

在你的主要内部:

Iteration(() => Console.WriteLine("Hello World"));