在线程中传递除void之外的返回类型的委托

时间:2010-03-04 10:58:33

标签: c# delegates multithreading

我想将返回类型为ArrayList的委托作为线程参数传递,并希望将值存储在ArrayList中。在这方面的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以尝试通过引用传递另一个参数,而不是返回值:

private class ThreadArguments
{    
    public ArrayList List1 { get; set; }
    public ArrayList List2 { get; set; }

    public ThreadArguments(ArrayList list1, ref ArrayList list2)
    {
        this.List1 = list1;
        this.List2 = list2;
    }
}

Thread myThread = new Thread(new ParameterizedThreadStart(...));
myThread.Start(args);

因此返回值实际上被list2替换。