Все так и сделано, list передается, но каждый раз приходится править reference на клиенте. Структура такая:
[DataContract]
public abstract class A
{
[DataMember]
public int Id{get;set}
[DataMember]
public string Name{get;set;}
protected A(int id,string name )
{
Id = id;
Name = name;
}
public abstract Set(...);
public abstract Get(...);
}
От этого класса наследуются еще несколько классов, некоторые из которых реализуют абстрактные методы базового класса, другие нет, все содержат конструктор, каждый имеет свой набор полей которые также помечены DataMember а классы DataContract.
Класс от которого наследуют другие также имеет атрибуты [KnownType(typeof(AnotherClass))] для дочерних классов. И все работает, но вот остается вопросом почему си автоматом при создании servicereference для клиента не создает в коде конструкторы для классов и также просит добавить методы абстрактные, хотя в клиенте они не используются и не должны. Даже если они обязаны там быть, какой еще атрибут надо добавить в класс A для методов чтобы они автоматом добавлялись в reference?
Через WCF передается
List<A>
который содержит все классы наследуемые от А
Спасибо