我有以下C#类:
public class Locales
{
public Region region { get; set; }
public Buttons buttons { get; set; }
public Fields fields { get; set; }
}
public class Region
{
public Center center { get; set; }
public East east { get; set; }
}
public class Center
{
public string title { get; set; }
}
public class East
{
public string title { get; set; }
}
public class Buttons
{
public string save { get; set; }
}
public class Fields
{
public Labels labels { get; set; }
}
public class Labels
{
public string firstName { get; set; }
public string lastName { get; set; }
public string chooseLocale { get; set; }
}
总的来说,Locales有Region、Buttons和Fields。Region有Center和East。Center和East有属性标题。Fields有标签,其中包含属性firstName、lastName和chooseLocale。
在一个名为GetLocale的方法中,我有以下代码:
Locale englishLang = new Locale();
englishLang.region.center.title = "Center Region";
englishLang.region.east.title = "East Region - Form";
englishLang.buttons.save = "Save";
englishLang.fields.labels.firstName = "First Name";
englishLang.fields.labels.lastName = "Last Name";
englishLang.fields.labels.chooseLocale = "Choose Your Locale";
当我运行代码时,在以下行:
englishLang.region.center.title = "Center Region";
报出了 "NullReferenceException was unhandled by user code" 异常。我在设置属性 title、save、firstName、lastName 和 chooseLocale 的方式上是否做错了什么?我尝试在
Locale englishLang = new Locale();
之后,并在 englishLang.region.center.title = "Center Region";
之前添加了以下代码块,但仍然收到错误消息。Region region = new Region();
Center center = new Center();
East east = new East();
Buttons buttons = new Buttons();
Fields fields = new Fields();
Labels labels = new Labels();
我做错了什么?