Насколько я понимаю, вы должны использовать свойство Order атрибута DataMember, чтобы вы могли добавлять вещи в контракт с данными без изменений, приводящих к поломке, но как вам следует подходить к этому, когда у вас есть базовый и подтипы?
Если у меня есть контракты данных, такие как:
[DataContract]
[KnownType(typeof(ChildDto))]
public class BaseDto
{
[DataMember (Name = "Property", Order = 0)]
public string Property { get; set; }
[DataMember (Name = "Property2", Order = 1)]
public string Property2 { get; set; }
}
[DataContract]
public class ChildDto:BaseDto
{
[DataMember (Name = "Property3", Order = 2)]
public string Property3 { get; set; }
[DataMember (Name = "Property4", Order = 3)]
public string Property4 { get; set; }
}
, и я хочу добавить новое свойство элемента данных в BaseDto
, в каком порядке я должен присвоить это свойство, чтобы всене сломать?Или я не должен ничего добавлять к BaseDto
?Могу ли я добавить вещи в ChildDto
?