Я пытаюсь сделать проход класса через WCF. Это не проблема, кроме моего абстрактного класса, который не сериализуется. Есть ли способ избежать этого?Проблема с абстрактными свойствами класса Сериализация через WCF
[DataContract]
[KnownType("GetKnownTypes")]
public class BusinessObject
{
public static Type[] GetKnownTypes()
{
// only returns the different types my "Field" abstract class can take
return Services.WCFRIAKnownTypesHelperService.FieldsKnownTypes.ToArray();
}
[DataMember]
public String ID { get; set; }
[DataMember]
public List<Section> Sections { get; set; }
[DataMember]
public List<Field> Fields { get; set; }
}
И теперь мой класс поле
[DataContract]
public abstract class Field
{
[DataMember]
public String FieldID { get; set; }
[DataMember]
public String Title { get; set; }
[DataMember]
public Object Content { get;set; }
}
Почему не работает?
Моя проблема связана с классом Field, а не с BusinessObject, который хорошо разбирается. – Nicolas
@Nicolas, о, извините. В этом случае вы должны украсить свой класс «Поле» атрибутом «KnownType», указав все возможные дочерние объекты. –