를 사용하여 나는 객체 초기화 사용 Root
의 인스턴스를 생성하는 다음과 같은 코드가 있습니다 we'd 경우 내가 아는 Is there any benefit of using an Object Initializer?에서주문 중첩 된 객체
var r = new Root { Person = new Person { Age = 20, Name = "Hans" } };
는 내부 개체가 Person
이이 같은 번역되었습니다
var p = new Person();
p.Age = 20;
p.Name = 20;
내가 어떻게 내 첫 번째 예에서 중첩 된 객체에 영향을 미치지 않습니다 궁금해? Root
의 새로운 인스턴스에 할당하거나 단지 이런 식으로 번역되는 것보다 Person
완전히 생성된다
var r = new Root();
r.Person = new Person();
r.Person.Age = 20; // this would call the Persons getter
r.Person.Name = "Hans"; // this would call the Persons getter
물어 이유는 getter와 setter가 주어진 Root
에 대한 Person
매우이다 수정하는 것입니다 복잡하고 나는 Person
에 대한 속성을 설정하기 위해 getter를 호출하지 않는 것이 좋습니다.