【发布时间】:2019-02-06 16:50:59
【问题描述】:
我有以下课程:
public class CustomerResult
{
public string CompanyStatus { get; set; }
public OverallResult Result { get; set; }
}
public class OverallResult
{
public string StatusDescription { get; set; }
public int StatusCode { get; set; }
public string CustomerId { get; set; }
}
我实例化:
var apiResult = new CustomerResult();
为什么下面会返回一个空引用?当我创建CustomerResult() 时,肯定会实例化OverallResult?
apiResult.Result.CustomerId = "12345";
【问题讨论】:
-
不,它没有被实例化。原始值将自动为您保留默认值,它不会创建对象的实例,但那是您的
OverallResult。 -
当没有代码来执行实例化时,为什么要实例化
OverallResult Result属性?实例化一个对象不会自动实例化它的所有属性。 -
您的代码中没有
new OverallResult();。 -
我试着给你一个更好的标题。如果您觉得我错过了标记,请随时编辑。
-
这就是为什么程序员认为编写构造函数很有用。做到这一点。