Changeset 6356 for trunk/sources/HeuristicLab.Persistence/3.3/Default
- Timestamp:
- 06/04/11 17:16:37 (13 years ago)
- Location:
- trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/NumberEnumerable2StringSerializer.cs
r5445 r6356 46 46 47 47 private static readonly Dictionary<Type, Type> interfaceCache = new Dictionary<Type, Type>(); 48 private static readonly object locker = new object(); 48 49 49 50 public Type GetGenericEnumerableInterface(Type type) { 50 if (interfaceCache.ContainsKey(type)) 51 return interfaceCache[type]; 52 foreach (Type iface in type.GetInterfaces()) { 53 if (iface.IsGenericType && 54 iface.GetGenericTypeDefinition() == typeof(IEnumerable<>) && 55 numberConverter.CanSerialize(iface.GetGenericArguments()[0])) { 56 interfaceCache.Add(type, iface); 57 return iface; 51 lock (locker) { 52 if (interfaceCache.ContainsKey(type)) 53 return interfaceCache[type]; 54 foreach (Type iface in type.GetInterfaces()) { 55 if (iface.IsGenericType && 56 iface.GetGenericTypeDefinition() == typeof(IEnumerable<>) && 57 numberConverter.CanSerialize(iface.GetGenericArguments()[0])) { 58 interfaceCache.Add(type, iface); 59 return iface; 60 } 58 61 } 62 interfaceCache.Add(type, null); 59 63 } 60 interfaceCache.Add(type, null);61 64 return null; 62 65 } -
trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/Storable/StorableReflection.cs
r5445 r6356 124 124 /// <param name="storableMemberInfos"></param> 125 125 /// <returns></returns> 126 private static IEnumerable<StorableMemberInfo> DisentangleNameMapping( 127 IEnumerable<StorableMemberInfo> storableMemberInfos) { 126 private static IEnumerable<StorableMemberInfo> DisentangleNameMapping(IEnumerable<StorableMemberInfo> storableMemberInfos) { 128 127 var nameGrouping = new Dictionary<string, List<StorableMemberInfo>>(); 129 128 foreach (StorableMemberInfo storable in storableMemberInfos) {
Note: See TracChangeset
for help on using the changeset viewer.