좋아요, 어떻게 작동하는지 또는 가능하면 약간 퍼지기 마련입니다. Child 클래스를 직렬화하고 싶지만 실제로 Child.MyParent 필드를 수행 할 때 부모 개체를 serialize하지 않으려는 경우 ... 참조를 serialize하기를 원합니다. 이게 가능한가, 어떻게하면 될까?직렬화 할 때 객체 참조를 유지하는 방법
public class Parent
{
public Child New()
{
return new Child(this);
}
}
public class Child
{
public Parent MyParent;
public Child(Parent parent)
{
MyParent = parent;
}
}
편집 : DataContractSerializer를 사용하고 있지만 필요한 경우 다른 것으로 전환하는 것에 반대하지 않습니다.
아이가 MyParent를 표시 할 수 있습니다입니다; 그것은 직렬화되지 않도록하지만, 단지 참조가 직렬화되기를 원합니다. 당신이 원하는 것을 정확히 설명해 주시겠습니까? 객체가 직렬화되고 직렬화 된 참조가 실제로 의미를 갖지 않을 때. – seand
@seand 일부 객체를 복제 할 수 있도록 직렬화를 활용하려고합니다. 기본적으로 직렬화 된 다음 즉시 deserialize됩니다. 나는 거기에 ICloneable 인터페이스가 있다는 것을 알았지 만,이 인터페이스를 구현하지 않고도 다양한 유형의 작업을 수행 할 수 있다고 생각합니다. –
이 필드를 serialize하지 않고 직렬화 프로세스 외부에서 관리하는 것이 더 좋을 수도 있다고 생각하지만 가능하다면 어떻게하는지 알고 싶습니다. –