4 using System.Collections.Generic;
6 namespace SiliconStudio.Core.Serialization.Converters
8 public class DictionaryDataConverter<TData, T, TDataKey, TDataValue, TKey, TValue> :
DataConverter<TData, T> where TData : class,
IDictionary<TDataKey, TDataValue> where T : class,
IDictionary<TKey, TValue>
24 data = Activator.CreateInstance<TData>();
31 foreach (var item
in obj)
33 var itemData1 =
default(TDataKey);
34 var itemData2 =
default(TDataValue);
35 converterContext.ConvertToData(ref itemData1, item.Key);
36 converterContext.ConvertToData(ref itemData2, item.Value);
37 data.Add(itemData1, itemData2);
55 source = Activator.CreateInstance<T>();
62 foreach (var item
in data)
64 var itemData1 =
default(TKey);
65 var itemData2 =
default(TValue);
66 converterContext.ConvertFromData(item.Key, ref itemData1);
67 converterContext.ConvertFromData(item.Value, ref itemData2);
68 source.Add(itemData1, itemData2);
Base class for converters to/from a data type.
override void ConvertFromData(ConverterContext converterContext, TData data, ref T source)
override void ConvertToData(ConverterContext converterContext, ref TData data, T obj)
Converts the given source object to its data counterpart.