У меня есть веб-сайт, который использует REST для доступа к некоторым WCF.
У меня есть эта структура на стороне сервера:
<DataContract()>
Public Class Widget
<DataMember()>
Public Properties As Object
<DataMember()>
Public Type As String
End Class
<DataContract()>
Public Class PropertiesA
<DataMember()>
Public Hip As String
End Class
<DataContract()>
Public Class PropertiesB
<DataMember()>
Public Hop As Integer
End Class
И я хотел бы передать объекты с тем или иным свойством, например:
A = { Widget: { Type: "text", Properties: { Hip: "toto" } } } // has to use PropertiesA
B = { Widget: { Type: "value", Properties: { Hop: 5 } } } // has to use PropertiesB
Но я не знаю, как сопоставить свойство «Тип» с тем фактом, что десериализатору .NET необходимо создать объект PropertiesA или PropertiesB.
Как вы думаете, это возможно?
Редактировать: в настоящее время глядя на DataContractResolver