Я действительно смущен объектными отношениями! У меня есть два класса Person and Address. Вот подробности:Confused об ссылках на объекты
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
private List<Address> _addresses = new List<Address>();
public void AddAddress(Address address)
{
_addresses.Add(address);
address.Person = this;
}
public List<Address> Addresses
{
get { return _addresses; }
set { _addresses = value; }
}
}
public class Address
{
public string Street { get; set; }
public Person Person
{
get; set;
}
}
Метод AddAddress в классе Person добавляет адрес для сбора адресов, а также устанавливает Person для объекта Address. Теперь, в коде я делаю следующее:
var person = new Person() { FirstName = "John", LastName = "Doe" };
person.AddAddress(new Address() { Street = "Blah Blah" });
person.Addresses[0].Person = null;
Я имею в виду, что он должен установить объект человека в нуль, так как адреса [0] .Person указывает на исходный объект человека. Но он не устанавливает его значение null. Что здесь происходит?
Cue Jon Skeet. :) – johnc
@tony спасибо за вопрос! Если ответ решает вашу проблему, попробуйте нажать «галочку» рядом с этим ответом, чтобы вознаградить человека, который его предоставил. –