1

コードにはMainclass、さまざまなリストとさまざまなサブセットを含む があります。やってみると

main k = new main();
k.main.addressinfo.addressline1 = "XXX";

「オブジェクト参照がオブジェクトのインスタンスに設定されていません// NULLEXCEPTION」というエラーが表示されます。

public class Mainclass
{
    public List<main> mainset { get; set; }
 // do sth to load and save model info
}
 public class main
{
    public personalinfo info { get; set; }
    public addressinfo currentaddr { get; set; }
    public addressinfo[] otheraddr { get; set; }
    public telephone currenttel { get; set; }
    public telephone[] othertel { get; set; }
 }
public class addressinfo
{
    public string Addressline1 { get; set; } 
    public string Addressline2 { get; set; }
    public string City { get; set; }
    public string postcode { get; set; 
}
public class telephone
{
    public int tel { get; set; }
}

クラスにはリストと配列が含まれているため、文字列のデフォルト値を NULL ではなく EMPTY に設定する方法について少し混乱しています。また、デフォルトで子供に1つのEMPTYオブジェクトがあり、NULLオブジェクトがないことを確認するにはどうすればよいですか?

4

3 に答える 3

3

オブジェクトを初期化する必要があります

public personalinfo info = new personalinfo();
public addressinfo currentaddr = new addressinfo();
public telephone currenttel = new telephone();
于 2013-06-29T21:06:31.830 に答える
0

@Using mcmonkey4eva答え

public personalinfo info = new personalinfo();
public addressinfo currentaddr = new addressinfo();
public telephone currenttel = new telephone();

public addressinfo[] otheraddr = new addressinfo[1];
public List<main> mainset = new List<main>();
于 2013-06-29T21:41:32.313 に答える
0

クラスのコンストラクターを定義し、その中でプロパティをデフォルト値に設定する必要があります。

于 2013-06-29T21:15:14.277 に答える