C#에서 xml serialization/deserialization 동작을 이해하려고합니다. 나는 다음 예제 코드를 함께 일하고 :한 클래스의 개체 직렬화 및 다른 클래스의 속성 설정
[Serializable]
public class Class1 {
Class2 c2 = new Class2();
public List<double> Arr2 {
get { return c2.Arr1 ;}
set { c2.Arr1 = value ;}
}
[XmlIgnore]
public Class2 C2 {
get { return c2; }
set { c2 = value; }
}
public Class1() {
}
}
public class Class2 {
private List<double> arr1;
public List<double> Arr1 {
get { return arr1; }
set { arr1 = value; }
}
public Class2() {
arr1 = (new double[ 5 ]).ToList();
}
}
때마다 내가 Class1에 대한 XML 파일을 역 직렬화 할 때, 나는 XML 파일의 값 대신 Arr2에 0을 얻는다. 나는 직렬화에 대한 다음과 같은 라인을 사용하고 있습니다 :
public Class1 c1 = new Class1() ;
XElement rootnode = XElement.Load(path);
c1 = rootnode.XmlDeserialize<Class1>("Class1");
XML 파일 :
<Class1>
<Arr2>
<double>1</double>
<double>2</double>
<double>3</double>
<double>4</double>
<double>5</double>
</Arr2>
</Class1>
경우'XElement.XmlDeserialize ("클래스 1")입니다'에서 오는? 어디서나 문서를 찾을 수 없습니다. 나는 당신의 프로젝트에서 정의 된 확장 메소드라고 가정 할 수있다. 당신은 그것을 포함해야합니다 –
어떤 사람이 투표를 누른 다음 내 실수의 표시에 대한 의견을 남겨주세요. 그것은 나의 겸손한 요구입니다. Thanks – User1551892