线程问题

use*_*406 5 c# multithreading

我正在第一次尝试在应用程序中使用线程,但在我尝试实例化我的线程的行上,我得到错误'方法名称预期'.这是我的代码:

private static List<Field.Info> FromDatabase(this Int32 _campId)
    {
        List<Field.Info> lstFields = new List<Field.Info>();

        Field.List.Response response = new Field.List.Ticket
        {
            campId = _campId
        }.Commit();

        if (response.status == Field.List.Status.success)
        {
            lstFields = response.fields;
            lock (campIdLock)
            {
                loadedCampIds.Add(_campId);
            }
        }

        if (response.status == Field.List.Status.retry)
        {
            Thread th1 = new Thread(new ThreadStart(FromDatabase(_campId)));

            th1.Start();

        }

        return lstFields;
    }
Run Code Online (Sandbox Code Playgroud)

Muh*_*han 11

ThreadStart构造函数只接受方法名称.你正在那里执行方法.将其更改为Thread th1 = new Thread(new ThreadStart(FromDatabase));

但是这是不正确的,因为FromDatabase方法似乎是参数,而ThreadStart期望方法没有参数所以你应该使用而不是ParameterizedThreadStart

请阅读以下文章以获取更多详细信息:http://www.dotnetperls.com/parameterizedthreadstart