2013-10-17 1 views
2

[DataContract]을 구현하지 않는 기본 클래스에서 상속 받고이를 무시하도록 serializer에 알릴 수 있습니까?DataContract는 비 DataContract 기본 클래스에서 상속합니다

하지 않으면 그래서

//Non-accessible, non-[DataContract] class 
public class ThirdPartyOrFrameworkClass 
{ 
    public void ConvenienceMethod() 
    { 
     //Code 
    } 
    //Rest of the class 
} 

[DataContract (IgnoreBaseClassWhenSerializing = true)] 
public class SomeStateClass : ThirdPartyOrFrameworkClass 
{ 
    [DataMember] 
    string _data; 

    //Rest of the class 
} 

같은에서, [DataContract] 속성을 구현하지 않는 클래스를 사용에 대한 해결책은 무엇입니까?

XmlSerializer보다 DataContractSerializer을 사용하고 싶습니까?

+0

표준 시나리오에서는 데이터 계약에 대한 코드를 간단히 제어 할 수 있습니다. 왜 통제 할 수없는 계약을 폭로하고 싶습니까? – Jocke

+0

편의상. 그것은 큰 문제는 아니지만, POCO 만 사용하면 문제를 해결할 수 있습니다 (당신이해야하는 것처럼?). 방금 편의 메소드가있는 기본 클래스에서 파생되기를 원했습니다. – SDK

+0

예 POCO 구현을 위해 갈 것입니다. 서비스 측면에서 ThirdParty 클래스를 사용하려면 해당 클래스를 만든 매핑 레이어가 있어야합니다 (비즈니스 레이어에서 사용하는 경우). – Jocke

답변

1

나는 귀하의 질문에 대한 대답을 NO로 생각합니다 (ThirdPartyOrFrameworkClass 소스 코드를 변경할 수없는 경우).

+0

정확해야합니다. – SDK

관련 문제