C# 结构属性不可用

C# 结构属性不可用,c#,winforms,struct,windows-forms-designer,C#,Winforms,Struct,Windows Forms Designer,我有一个包含五个属性的结构,它们是在按钮\u单击方法(使用Windows窗体设计器)上设置的。设置这些参数后,将使用.RunWorkerAsync运行bacground worker。然后在后台工作程序的\u DoWork方法中使用该结构 但是,当我在uDoWork方法中调用该结构时,该结构的所有属性的值都为null。谁能告诉我我做错了什么?我对C#有点陌生 定义结构 struct FtpSetting { public String Server { get; set; } publ

我有一个包含五个属性的结构,它们是在按钮
\u单击
方法(使用Windows窗体设计器)上设置的。设置这些参数后,将使用
.RunWorkerAsync
运行bacground worker。然后在后台工作程序的
\u DoWork
方法中使用该结构

但是,当我在u
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;
按钮点击功能(仅相关代码)

工作功能(仅相关代码)


什么是
null
这里不是
struct
的属性,而是
参数

您需要调用接受参数的重载:

backgroundWorker.RunWorkerAsync(_inputParameter);

什么是
null
这里不是
struct
的属性,而是
参数

您需要调用接受参数的重载:

backgroundWorker.RunWorkerAsync(_inputParameter);

很可能你需要的是一个类而不是一个结构,它只适用于非常特定的条件(并且不适用于易变性)()很可能你需要的是一个类而不是一个结构,它只适用于非常特定的条件(并且不适用于易变性)()谢谢。我认为结构属性的
public
部分使它在
\u DoWork
中可用。现在好像可以用了,谢谢。我认为结构属性的
public
部分使它在
\u DoWork
中可用。它现在似乎起作用了。
backgroundWorker.RunWorkerAsync(_inputParameter);