如何检查类中的对象是否已初始化

本文关键字:对象 是否 初始化 何检查 检查 | 更新日期: 2023-09-27 18:20:39

我有一个带有各种子类的mainclass

 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异常!无效的

if (main.currentaddr != null)
{
addressinfo add = new addressinfo();
//do sth
}

如何检查类中的对象是否已初始化

失败的原因是main变量为null。因此,在尝试调用currentaddr之前,您应该检查一下。从源代码中,您已经显示了这个变量的来源以及如何初始化它,这一点非常不清楚,但您可以添加以下测试:

if (main != null && main.currentaddr != null)
{
    addressinfo add = new addressinfo();
    //do sth 
}