← Назад

Cannot serialize Security

Пробую сохранить Security, в доке написано что вроде как можно:


[SerializableAttribute]
[DataContractAttribute]
public class Security : IExtendableEntity, INotifyPropertyChangedEx, 
	INotifyPropertyChanged

Пишем:


Stream stream = File.Open(Conf.securityFileName, FileMode.Create);
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, security);
stream.Close();

А в результате получаем:

2010-10-25 13:05:07,218 ERROR: System.Runtime.Serialization.SerializationException: Type 'Ecng.Common.NullableEx`1[[System.TimeSpan, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]' in Assembly 'Ecng.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable. at System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType type)

В чем ошибка?

Комментарии (3)

Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий

Mikhail Sukhov
Mikhail Sukhov

Security.Exchange не сериализуется (добавил его позднее). Вариант - обнулите его перед сохранение в файл.

eaa
eaa Автор

Mikhail Sukhov: Security.Exchange не сериализуется (добавил его позднее). Вариант - обнулите его перед сохранение в файл.

А фикс будет?

Mikhail Sukhov
Mikhail Sukhov

eaa:

Mikhail Sukhov: Security.Exchange не сериализуется (добавил его позднее). Вариант - обнулите его перед сохранение в файл.

А фикс будет?

В 2.5 сделан фикс. Вернее, не столько фикс, сколько улучшение сериализации торговых типов.