Вы всегда должны пытаться использовать композитный объект с конкретными типами (с использованием композитного шаблона проектирования), а не список объектов типы. Кто бы мог вспомнить, что такое каждый из этих объектов? Подумайте о поддержании кода позже ... Вместо этого, попробовать что-то вроде этого:
Public (Class or Structure) MyPerson
public string FirstName { get; set; }
public string LastName { get; set; }
public string Address { get; set; }
public int ZipCode { get; set; }
End Class
И потом:
Dim person as new MyPerson With { .FirstName = “Joe”,
.LastName = "Smith”,
...
}
backgroundWorker1.RunWorkerAsync(person)
, а затем:
private void backgroundWorker1_DoWork (object sender, DoWorkEventArgs e)
{
MyPerson person = e.Argument as MyPerson
string firstname = person.FirstName;
string lastname = person.LastName;
int zipcode = person.ZipCode;
}
Как я могу сделать два аргумента ? – sooprise
Или я посылаю объект, полный нескольких аргументов? – sooprise
@soo: Используйте вспомогательный класс или 'Tuple ' (C# 4 +) (Edit: Да, используйте объект, чтобы упаковать все это. См. Например, DoWorkEventArgs self). –