Вот веб-сервис:
Пользовательские классы:
public class A
{
public A()
{
}
public B prop { get; set; }
}
public class B
{
public B()
{
}
public A prop { get; set; }
}
Веб-метод:
[WebMethod]
[XmlInclude(typeof(A))]
public object Test()
{
A a = new A();
a.prop = new B();
return a;
}
Вот клиентская сторона:
Service ws = new Service();
var response = ws.Test();
Итак, почему веб-сервис возвращает список XmlNode вместо класса A? Как это решить?
PS: если я прокомментирую public A prop { get; set; }
строку, это сработает
[Serializable]
не используется сериализацией XML. - person John Saunders   schedule 26.03.2012object
, поэтому он возвращает наиболее общий возможный тип. Если вы не имели в видуobject
, не возвращайтеobject
. - person John Saunders   schedule 04.04.2012public A prop { get; set; }
, он вернет A, как и ожидалось. Как этого добиться без комментирования строки кода? - person mtanksl   schedule 06.04.2012