继承:asmx web服务总是返回子类

时间:2011-04-29 12:19:01

标签: 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()
{
  animal result = new dog();
  return result;
}

问题是我的网络服务总是归来一条狗。有一种简单的方法可以让动物返回吗? (我看到了两个我不喜欢的解决方案:

animal result = new animal();

animal resultDog = new dog();
animal result = new animal();
result.id = resultDog.id
result.color = resultDog.color 

1 个答案:

答案 0 :(得分:3)

问题是我的网络服务总是返回一只狗

它返回一个狗类型,因为...就是它返回的内容

public animal GetAnimal()
{
  animal result = **new dog();**
  return result;
}

您的消费代码应该能够将其作为动物类型引用而不会出现任何问题:

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

您能更具体地了解您的错误或问题吗?