наследование: веб-сервис asmx всегда возвращает подкласс - PullRequest
0 голосов
/ 29 апреля 2011

У меня проблема с веб-сервисами 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 

)

1 Ответ

3 голосов
/ 29 апреля 2011

проблема в том, что мой веб-сервис всегда возвращает собаку

Возвращает тип собаки, потому что ... вот что возвращает

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

Ваш потребительский код должен иметь возможность без проблем ссылаться на него как тип животного:

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

Можете ли вы более точно указать, какая у вас ошибка или проблема?

...