Пример #1
0
    public SerializableDictionary(SerializationInfo info, StreamingContext context)
    {
        int itemCount = info.GetInt32("count");

        for (int i = 0; i < itemCount; i++)
        {
            KeyValueSerialization <TKey, TVal> kvp = (KeyValueSerialization <TKey, TVal>)info.GetValue(String.Format("Im{0}", i), typeof(KeyValueSerialization <TKey, TVal>));

            this.Add(kvp.Key, kvp.Value);
        }
    }
Пример #2
0
    void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
    {
        info.AddValue("count", this.Count);
        int itemIdx = 0;

        foreach (KeyValuePair <TKey, TVal> kvp in this)
        {
            KeyValueSerialization <TKey, TVal> kvs = new KeyValueSerialization <TKey, TVal>();
            kvs.Key   = kvp.Key;
            kvs.Value = kvp.Value;

            info.AddValue(String.Format("Im{0}", itemIdx), kvs, typeof(KeyValueSerialization <TKey, TVal>));
            itemIdx++;
        }
    }