它突出显示我的对象c
并说它为空,即使我在前一行创建了对象。我在下面提到这一行。
c.wm.Add(new Dictionary<string, string>());
以下是整个事情:
public class dict
{
public List<Dictionary<string, string>> wm;
public dict()
{
List<Dictionary<string, string>> wm = new List<Dictionary<string, string>>();
}
}
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
dict c = new dict();
c.wm.Add(new Dictionary<string, string>());
}
}
}
答案 0 :(得分:5)
从构造函数中的wm
声明中删除类型。您正在实例化一个名为wm
的新变量,而不是在类上实例化该属性。
public dict()
{
wm = new List<Dictionary<string, string>>();
}
更好的是,根据戴的评论,使用this
关键字明确指定类属性。
public dict()
{
this.wm = new List<Dictionary<string, string>>();
}