Я пытаюсь использовать вложенный класс, чтобы получить два класса для передачи в один аргумент, чтобы я мог отправить его в backgroundworker. До сих пор мне удалось передать одиночные аргументы в workworker, но я все же должен сделать это с вложенным классом, в котором я заканчиваю передачу обоих или моих желаемых классов в один и тот же аргумент. До сих пор здесь часть коды я использую:Использование вложенного класса для передачи нескольких аргументов в backgroundworker
Это вложенный класс Я пытаюсь использовать:
public class MyBackGroundWorkerObject
{
public class TimeZone
{
public string Zone;
public int difference;
public override string ToString()
{
return Zone;
}
}
public class AccountName
{
public string AccountSid;
public string AuthToken;
public string Name;
public override string ToString()
{
return Name;
}
}
}
Вот пример одного из классов в действии:
MyBackGroundWorkerObject.AccountName acct = new MyBackGroundWorkerObject.AccountName();
//AccountName acct = new AccountName();
acct.AccountSid = "abcd";
acct.AuthToken = "xyz";
acct.Name = "Potato";
ddlAccounts.Items.Add(acct);
MyBackGroundWorkerObject.TimeZone region = new MyBackGroundWorkerObject.TimeZone();
//TimeZone region = new TimeZone();
region.Zone = "UTC";
region.difference = 0;
comboBox1.Items.Add(region);
И вот та часть, где я совершенно смущен, я бы хотел использовать оба эти при вызове из формы окна, откуда он извлекает некоторые из введенных данных. Я не уверен, о том, как получить оба из этих классов, чтобы работать в связке, где я могу отправить их обоих в то же самое время в BackgroundWorker:
MyBackGroundWorkerObject myBackGroundWorker1 = new MyBackGroundWorkerObject();
object obj = ddlAccounts.SelectedItem;
MyBackGroundWorkerObject.AccountName acct = obj as MyBackGroundWorkerObject.AccountName;
backgroundWorker1.RunWorkerAsync(acct);
Не используйте 'BackgroundWorker'. Вместо этого используйте 'await'. – SLaks
Помимо того, что это вариант для переключения этого кода. –
Вы определили вложенные классы внутри MyBackGroundWorkerObject, но нет переменной типа TimeZone или типа AccountName, объявленного внутри класса MyBackGroundWorkerObject. –