Microsoft ASP.NET Web API를 사용하여 솔루션을 구축하고 싶습니다. 나는 'IDisplayInfo'인터페이스를 구현하는 'Person'과 같은 복잡한 객체를 가질 수 있기를 원합니다. 사람 직렬화 할 때 모든 속성을 정상적으로 serialize 할 싶습니다 있지만 WorkOrder 개체 같은 인터페이스를 지정하는 다른 개체를 serialize 할 때 인터페이스 직렬화 할 속성을 싶습니다. 나는 XML과 JSON 모두와 함께 작업하고 싶다. DefaultContractResolver를 재정의하려고 시도했지만 어떻게 작동하는지 이해하는 데 문제가 있습니다.WebAPI - 복잡한 클래스에서 인터페이스를 직렬화하지만 여전히 구체적인 클래스를 직렬화 할 수 있습니다.
도움 주셔서 감사합니다.
public interface IDisplayInfo
{
string Id { get; }
string Display { get; }
}
public class Person : IDisplayInfo
{
public string Id { get; set; }
public string Display { get { return FirstName + " " + LastName; } }
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class WorkOrder
{
public string Title { get; set; }
public IDisplayInfo CreatedBy { get; set; }
}
직렬화 WorkOrder은 다음과 같아야합니다 {제목 : "테스트", CreatedBy : {ID : "1"표시 "밥 폭스"}}
직렬화 된 사람은 다음과 같아야를 : {ID : "1"표시 "밥 폭스", 이름 : "밥"성 "여우"}
나는 내 대답의 맨 위에 재미있을만한 링크를 추가했습니다. 당신이 필요한 것을 얻을 수 있는지보십시오. – pid