<分区>
我有以下 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。区域有中部和东部。中心和东有产权。字段有标签,标签有属性 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";
当我运行代码时,在以下行抛出“NullReferenceException 未被用户代码处理”:englishLang.region.center.title = "Center Region";
我是不是在设置属性 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();
我做错了什么?