[英]Struct property not available
我有一個具有五個屬性的結構,這些屬性在按鈕_click
方法上設置(使用Windows Forms Designer)。 設置完這些后,使用.RunWorkerAsync
運行.RunWorkerAsync
。 然后在后台工作程序的_DoWork
方法內部使用該結構。
但是,當我在_ DoWork
方法內部調用該結構時,該結構的屬性全部具有null值。 誰能告訴我我在做什么錯? 我是C#的新手。
定義結構
struct
FtpSetting
{
public String Server { get; set; }
public String Username { get; set; }
public String Password { get; set; }
public String FileName { get; set; }
public String FullName { get; set; }
}
FtpSetting _inputParameter;
按鈕點擊功能(僅相關代碼)
FileInfo fi = new FileInfo(ofd.FileName);
_inputParameter.Server = txtServer.Text;
_inputParameter.Username = txtServer.Text;
_inputParameter.Password = txtServer.Text;
_inputParameter.FileName = fi.Name;
_inputParameter.FullName = fi.FullName;
backgroundWorker.RunWorkerAsync();
DoWork功能(僅相關代碼)
string filename = ((FtpSetting)e.Argument).FileName; // Code crashes here
string fullname = ((FtpSetting)e.Argument).FullName; // ...But all the below values
string username = ((FtpSetting)e.Argument).Username; // ...Are null as well :-(
string password = ((FtpSetting)e.Argument).Password;
string server = ((FtpSetting)e.Argument).Server;
這里的null
不是struct
的屬性,而是Argument
在一起。
您需要調用RunWorkerAsync(object argument)
的RunWorkerAsync(object argument)
的重載:
backgroundWorker.RunWorkerAsync(_inputParameter);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.