I have a class with a list of objects that is serialized and deserialized:
[DataContract]
public class Manager
{
[DataMember]
public BigBase[] enemies;
}
The class with subclasses:
[DataContract]
[KnownType(typeof(Medium))]
[KnownType(typeof(Small))]
public class BigBase
{
[DataMember]
public bool isMoving;
}
[DataContract]
public class Medium : BigBase
{
}
[DataContract]
public class Small: BigBase
{
}
Now whats strange when deserializing the enemies array will contain correctly deserialized BigBase classes but each Medium and Small class doesnt have the correct value for isMoving.