Re[2]: Десериализация словаря словарей
От: anton_nix Россия http://a-nepomnyaschih.moikrug.ru/
Дата: 11.10.07 03:10
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, anton_nix, Вы писали:


_>>Почему Dictionary десериализуется в последнюю очередь и как с этим бороться? Мне надо сделать словарь, у которого ключ — тоже словарь, а я не могу его десериализовать


_>>При десериализации в конструкторе MyDictionary извлекаемые MyKey пустые!

S>1. А зачем ты взялся делать сериализацию словаря вручную? Стандартная не работает?
S>2. Если взялся делать сериализацию вручную — надо было идти до конца, т.е. реализовывать конструктор вручную.
Показалось странным, что словарь так странно десериализуется.
S>3. Если уж совсем не терпится — вызови OnDeserialization у прочитанных из потока MyKey:
Интересно, почему десериализация в этом методе?

S>
S>protected MyDictionary(SerializationInfo info, StreamingContext context)
S>{
S>    int count = info.GetInt32("count");
S>    for (int i = 0; i < count; ++i)
S>    {
S>        MyKey key = (MyKey)info.GetValue(i + "key", typeof(MyKey));
S>        key.OnDeserialization(this);
S>        int value = info.GetInt32(i + "value");
S>        Add(key, value);
S>    }
S>}
S>


Огромное спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.