Приветствую.
Для совместимости версий контрактов данных класс контракта должен реализовать IExtensibleDataObject. Логично, кмк, поместить во фреймворк default-реализацию IExtensibleDataObject, от которой можно было бы наследовать все контракты, требующие совместимости и не унаследованные от других классов, что то вроде:
public abstract class ExtensibleDataObject : IExtensibleDataObject
{
public ExtensionDataObject ExtensionData { get; set; }
}
Но такой реализации нет. Это из разряда "просто так", или есть какой-то глубинный смысл в том, чтобы реализовывать IExtensibleDataObject каждый раз (например, существуют какие-то особенности использования свойства ExtensionDataObject сериализатором)?