Поскольку у вас есть этот помеченный C # 4, новый подход к этому будет:
Functions functions = new Functions();
string[] data = GetData();
Task.Factory.StartNew( () => functions.Post(data) );
Если вы действительно хотите оставить это с помощью выделенного потока, а не библиотеки параллельных задач, вы можете это сделать. Учитывая ваши комментарии, похоже, что Post()
определено как Post(string[] data)
. Это не будет работать, поскольку ParameterizedThreadStart
ожидает, что метод будет Post(object data)
.
Вы можете обойти это через лямбды и, используя ThreadStart вместо ParameterizedThreadStart, однако, без изменения методов:
Functions functions = new Functions();
string[] data = GetData();
Thread th = new Thread( () =>
{
functions.Post(data);
});
th.Start();