Установите ширину графика. Это единственный вариант, который работал для меня.
chart: {
type: 'line',
width: 835
},
Вы можете попробовать оставить старый calss с единственной целью регидратации, а затем просто скопировать нужные поля в новый класс. Все еще немного болезненно, но должно сработать.
Да, это проблема сериализаторов на основе полей. Вы можете использовать пользовательский Binder
или «суррогат сериализации», чтобы избежать реализации ISerializable
, но это исправление только для каждого случая.
Я обсуждал эта тема (в контексте обфускаторов и автопропов) здесь . Мой совет: не используйте BinaryFormatter
для сохранения данных между версиями ... для этого посмотрите на сериализаторы на основе контрактов:
XmlSerializer
DataContractSerializer
Ничего из этого не поможет вам сегодня , но в будущем может помочь вам в разработке дизайна.
Я использовал для этого класс SerializationBinder до
http://msdn.microsoft.com/en-us/library/system.runtime.serialization.serializationbinder.aspx
использоваться для десериализации, чтобы можно было переназначить старый тип на новый.
Что, если вы просто измените модификатор доступа для этого свойства на частный, а затем получите общедоступное свойство с новым именем, которое по сути является оболочкой для старого. Таким образом, вы все равно сможете десериализовать (Я ДУМАЮ), но любой, кто использует этот класс, не узнает о старом имени. Просто мысль ...