C# 继承:asmx webservice始终返回子类

C# 继承:asmx webservice始终返回子类,c#,serialization,inheritance,asmx,C#,Serialization,Inheritance,Asmx,我对asmx webservices有问题。我有那些东西 public class animal { public string id = null; public string name = null; } public class dog: animals { public string surname = null; public string color = null; } 还有一个网络服务 public animal GetAnimal() {

我对asmx webservices有问题。我有那些东西

public class animal
{
    public string id = null;
    public string name = null;
}

public class dog: animals
{
    public string surname = null;
    public string color = null;
}
还有一个网络服务

public animal GetAnimal()
{
  animal result = new dog();
  return result;
}
问题是我的Web服务总是返回一只狗。有没有一个简单的方法让它可以返回一只动物? (我看到两种我不喜欢的解决方案:

animal result = new animal();

)问题是我的Web服务总是返回一只狗

它返回一个dog类型,因为。。。这就是它的回报

public animal GetAnimal()
{
  animal result = **new dog();**
  return result;
}
您的消费代码应该能够将其作为动物类型引用,而不会出现任何问题:

animal a = GetAnimal();
a.id="id";
a.name="name";

您能更具体地说明您遇到了什么错误或问题吗?

您使用Web服务的代码是什么样子的?
animal a = GetAnimal();
a.id="id";
a.name="name";