2010-07-30 3 views
12

XmlSerializer를 사용하여 개체를 직렬화하고 파일에 씁니다. 필자는 serializer가 중첩 요소 및 요소 대 특성으로 직렬화되는 관점에서 수행하려는 작업을 상당히 성공적으로 수행했습니다. 불행히도, 나는 한 클래스의 멤버가 다른 클래스보다 먼저 직렬화해야하는 문제에 직면 해있다. 다른 곳에서는 먼저 선언 된 것이 무엇이든 먼저 직렬화되지만,이 경우 나는 그렇게 많은 성공을 거두지 못한다. 상황이 직렬화되는 순서를 수동으로 제어 할 수있는 방법이 있습니까?C#에서 직렬화 순서 제어

답변

25
[XmlElementAttribute(Order = 1)] 
public int Field1 {...} 

[XmlElementAttribute(Order = 2)] 
public int Field2 {...} 

캐치 : 당신은 당신의 회원의 모두에 대한 Order를 지정해야합니다.

+0

Perfect. 나는 MSDN에서 그 중 하나를 놓친 것 같아요 아니면 그것을 찾을 정도로 발굴하지 않았다. 감사. – Zannjaminderson

+0

아마도 관련이 있습니다 : XML 속성을 사용하여 순서를 제어 할 수있는 방법이 있습니까? 'XmlAttributeAttribute'에는 이러한 속성이 없습니다. –

+1

@Travis : 제 경험상, 속성이 선언 된 순서대로 직렬화되도록하는 데 문제가 적습니다 (있는 경우). –

관련 문제