Changeset 1434 for branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/KeyValuePairDecomposer.cs
- Timestamp:
- 03/26/09 17:56:55 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/New Persistence Exploration/Persistence/Persistence/Default/Decomposers/KeyValuePairDecomposer.cs
r1421 r1434 5 5 using HeuristicLab.Persistence.Core; 6 6 using HeuristicLab.Persistence.Interfaces; 7 using System.Reflection; 7 8 8 9 namespace HeuristicLab.Persistence.Default.Decomposers { … … 23 24 24 25 public object CreateInstance(Type type) { 25 return null;26 return Activator.CreateInstance(type, true); 26 27 } 27 28 … … 29 30 IEnumerator<Tag> iter = o.GetEnumerator(); 30 31 iter.MoveNext(); 31 object key = iter.Current.Value; 32 FieldInfo keyFieldInfo = 33 t.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) 34 .Single((fi) => fi.Name == "key"); 35 FieldInfo valueFieldInfo = 36 t.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) 37 .Single((fi) => fi.Name == "value"); 38 iter.Current.SafeSet((value) => keyFieldInfo.SetValue(instance, value)); 32 39 iter.MoveNext(); 33 object value = iter.Current.Value;34 return Activator.CreateInstance(t, new object[] { key, value });40 iter.Current.SafeSet((value) => valueFieldInfo.SetValue(instance, value)); 41 return instance; 35 42 } 36 43 }
Note: See TracChangeset
for help on using the changeset viewer.