В контексте веб-службы у меня есть следующий класс, который наследуется от класса Mammal. Класс Mammal определен в прокси. Я не могу изменить определение этого класса. Поскольку мне нужно добавить некоторые методы в класс Mammal на стороне клиента, я унаследовал Mammal и создал Giraffe.
namespace TestApplication
{
public class Giraffe : Mammal
{
public Giraffe()
{
}
}
}
Когда я вызываю WebMethod, который ожидает объект типа Mammal, я получаю следующее исключение, говорящее мне, что Жираф не ожидается.
Error: System.InvalidOperationException: There was an error generating the XML document. ---> System.InvalidOperationException: The type Giraffe was not expected. Use the XmlInclude or SoapInclude attribute to specify types that are not known statically.
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterPaymentRequestAuthorization.Write6_Tender(String n, String ns, Tender o, Boolean isNullable, Boolean needType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterPaymentRequestAuthorization.Write12_PaymentRequestAuthorization(String n, String ns, PaymentRequestAuthorization o, Boolean isNullable, Boolean needType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterPaymentRequestAuthorization.Write13_PaymentRequestAuthorization(Object o)
--- End of inner exception stack trace ---
Есть ли обходной путь? Я не могу добавить XmlInclude ...