Changeset 4068 for trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StructSerializer.cs
- Timestamp:
- 07/22/10 00:44:01 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Persistence/3.3/Default/CompositeSerializers/StructSerializer.cs
r3742 r4068 22 22 using System; 23 23 using System.Collections.Generic; 24 using System.Linq;25 using System.Text;26 using HeuristicLab.Persistence.Interfaces;27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;28 24 using System.Reflection; 29 25 using HeuristicLab.Persistence.Core; 26 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 27 using HeuristicLab.Persistence.Interfaces; 30 28 31 29 namespace HeuristicLab.Persistence.Default.CompositeSerializers { 32 30 33 31 [StorableClass] 34 internal sealed class StructSerializer : ICompositeSerializer { 32 internal sealed class StructSerializer : ICompositeSerializer { 35 33 36 34 public int Priority { … … 39 37 40 38 public bool CanSerialize(Type type) { 41 return type.IsValueType && !type.IsPrimitive && !type.IsEnum && type.IsSealed; 39 return type.IsValueType && !type.IsPrimitive && !type.IsEnum && type.IsSealed; 42 40 } 43 41 … … 63 61 foreach (MemberInfo mi in t.GetMembers(AllInstanceMembers)) { 64 62 if (mi.MemberType == MemberTypes.Field) { 65 string name = mi.Name.Replace("<", "<").Replace(">", ">"); 63 string name = mi.Name.Replace("<", "<").Replace(">", ">"); 66 64 yield return new Tag(name, ((FieldInfo)mi).GetValue(obj)); 67 65 } … … 81 79 MemberInfo mi = mis[0]; 82 80 if (mi.MemberType == MemberTypes.Field) 83 ((FieldInfo)mi).SetValue(instance, t.Value); 81 ((FieldInfo)mi).SetValue(instance, t.Value); 84 82 else 85 83 throw new PersistenceException("invalid struct member type " + mi.MemberType.ToString()); 86 84 } 87 85 } 88 86 89 87 } 90 88 }
Note: See TracChangeset
for help on using the changeset viewer.