Есть структуры и метод
[DataContract]
public struct DocumentData
{
[DataMember]
public string key; // Field id
[DataMember]
public object value; // Value for the Field
};
[DataContract]
public struct DocumentDataInt
{
[DataMember(EmitDefaultValue=false)]
public DocumentData[] document_data;
[DataMember(EmitDefaultValue=false)]
public string error_message;
}
[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Json)]
public DocumentData GetDocumentData(Guid document_id)
и всё хорошо работает пока value в DocumentData — простые типы — строка или число.
Но если я хочу поместить в value что-то вроде массива других структур
[DataContract]
public struct SingleDamage
{
[DataMember(Name = "TYPE")]
public string Type;
[DataMember(Name = "PART")]
public string Part;
}
...
x.value = new SingleDamage[10];
...
то веб-сервис падает с непонятной ошибкой.
Есть способ вернуть такой массив, не нарушая обшего подхода?