ネストされたクラスを使用して2つのクラスを1つの引数に渡して、バックグラウンドワーカーに送ることができます。これまでのところ、単一の引数をバックグラウンドワーカーに渡すことに成功しましたが、ネストされたクラスを使用してそれを実行しています。その結果、両方または必要なクラスを同じ引数に渡してしまいます。これまでのところ、ここで私が使用しているコードの一部です:ネストされたクラスを使用して複数の引数をバックグラウンドワーカーに渡す
これは入れ子のクラスで私が使用しようとしています:
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内でネストされたクラスを定義し
MyBackGroundWorkerObject myBackGroundWorker1 = new MyBackGroundWorkerObject();
object obj = ddlAccounts.SelectedItem;
MyBackGroundWorkerObject.AccountName acct = obj as MyBackGroundWorkerObject.AccountName;
backgroundWorker1.RunWorkerAsync(acct);
再び.TheTimeZoneと.TheAccountName経由でアクセス 'BackgroundWorker'を使用しないでください。代わりに、 'await'を使用してください。 – SLaks
そのコードを切り替えることができるところです。 –
MyBackGroundWorkerObject内にネストされたクラスを定義しましたが、TimeZone型の変数も、MyBackGroundWorkerObjectクラス内で宣言されたAccountName型の変数もありません。 –