【问题标题】:inheritance : asmx webservice alway return subclass继承:asmx webservice 总是返回子类
【发布时间】:2011-04-29 12:19:00
【问题描述】:

我在使用 asmx 网络服务时遇到了问题。我有那些对象

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;
}

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

animal result = new animal();

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

)

【问题讨论】:

  • 您的使用 Web 服务的代码是什么样的?

标签: c# serialization inheritance asmx


【解决方案1】:

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

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

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

您的消费代码应该能够毫无问题地将其引用为动物类型:

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

您能否更具体地说明您遇到的错误或问题?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-20
    • 1970-01-01
    • 2017-11-03
    • 2021-05-03
    相关资源
    最近更新 更多