【发布时间】:2016-03-08 18:04:03
【问题描述】:
我的意思是,aPerson.PhoneNumber.Number 是一个字符串,所以它应该取字符串类型的值。
同样,在代码中,aPerson.PhoneNumber = phoneNumber aPerson.PhoneNumber 和 phoneNumber 都是 PersonPhoneNumber 类型的对象。
那一行之后的实际变化
aPerson.PhoneNumber.Number = "Test Phone";
工作了吗?
谁能告诉我为什么这两行在编译过程中显示错误?
class PersonPhoneNumber
{
public string Number { get; set; }
}
class Person
{
public string Name { get; set; }
public PersonPhoneNumber PhoneNumber { get; set; }
}
class Program
{
static void Main(string[] args)
{
Person aPerson = new Person();
aPerson.Name = "Test Name";
aPerson.PhoneNumber.Number = "Test Phone";//Error: System.NullReferenceException : Object reference not set to an instance of an object.
PersonPhoneNumber phoneNumber = new PersonPhoneNumber();
aPerson.PhoneNumber.Number = "Test Phone";//Error: System.NullReferenceException : Object reference not set to an instance of an object.
aPerson.PhoneNumber = phoneNumber;
aPerson.PhoneNumber.Number = "Test Phone"; // This does not show any error
Console.WriteLine(aPerson.Name);
Console.WriteLine(aPerson.PhoneNumber.Number);
}
【问题讨论】:
标签: c# associations relationship