2009-04-03 6 views
1

런타임 중에 datacontract의 datamember 속성을 동적으로 설정할 수 있습니까? 기본적으로 직렬화시 두 속성의 DataMemeber 특성을 포함하는 클래스의 serialize 된 인스턴스를 읽는 것이 필요하지만 현재 '버전'에는 더 이상 필요하지 않지만 이러한 속성에서 이전 데이터 집합을 마이그레이션해야합니다. 새로운 처리 방법 ... sooo 내가 필요로하는 것은 datacontract deserializer가 이러한 'old'값을 포함한 데이터를 읽고 새 구성으로 다시 직렬화하도록하는 것입니다 (이러한 속성의 데이터는 이제 저장되고 처리됩니다 완전히 다르게).런타임 중에 DataContract의 DataMember 특성을 설정 하시겠습니까?

이것이 가능합니까?

환호 & 감사합니다. -Jörg

답변

0

AFAIK 회원 정보가 아닌 유형/알려진 유형을 지정할 수 있습니다. XmlSerializer 여기 좀 더 용서입니다 ... 오래된 유형의 XML 특성을 사용하는 기회가 있습니까? (데이터 계약 속성보다).

다른 옵션은 IDataContractSurrogate을 제공하는 것입니다.하지만 이는 그리 쉬운 일이 아닙니다.

이전 속성 인 을 사용하는 클래스를 꾸밀 수있는 기회가 있습니까? 사용중인 새로운 메커니즘에 대한 속성 (등)은 무엇입니까?

데이터가 단순한 경우 (간단한 관계에서 한 두 가지 유형), 병렬 병렬 세트를 사용하여 직렬화를 해제 한 다음 데이터를 (속성 대 속성 등)을 새로운 데이터 구조 및 재 직렬화. 이것은 모델의 복잡성이 증가함에 따라 더욱 어려워집니다.

관련 문제