Changeset 40 for trunk/sources/HeuristicLab.Core
- Timestamp:
- 03/05/08 02:08:02 (17 years ago)
- Location:
- trunk/sources/HeuristicLab.Core
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Core/PersistenceManager.cs
r22 r40 82 82 return PersistenceManager.Restore(doc.ChildNodes[1], new Dictionary<Guid, IStorable>()); 83 83 } 84 85 public static string BuildTypeString(Type type) { 86 string assembly = type.Assembly.FullName; 87 assembly = assembly.Split(new string[] { ", " }, StringSplitOptions.None)[0]; 88 89 StringBuilder builder = new StringBuilder(); 90 builder.Append(type.Namespace); 91 builder.Append("."); 92 builder.Append(type.Name); 93 Type[] args = type.GetGenericArguments(); 94 if (args.Length > 0) { 95 builder.Append("[["); 96 builder.Append(BuildTypeString(args[0])); 97 builder.Append("]"); 98 for (int i = 1; i < args.Length; i++) { 99 builder.Append(",["); 100 builder.Append(BuildTypeString(args[i])); 101 builder.Append("]"); 102 } 103 builder.Append("]"); 104 } 105 builder.Append(", "); 106 builder.Append(assembly); 107 return builder.ToString(); 108 } 84 109 } 85 110 } -
trunk/sources/HeuristicLab.Core/StorableBase.cs
r2 r40 47 47 public virtual XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<Guid,IStorable> persistedObjects) { 48 48 XmlNode node = document.CreateNode(XmlNodeType.Element, name, null); 49 Type type = this.GetType();50 string typeString = type.AssemblyQualifiedName;51 string[] tokens = typeString.Split(new string[] { ", " }, StringSplitOptions.None);52 typeString = tokens[0] + ", " + tokens[1];53 49 XmlAttribute typeAttribute = document.CreateAttribute("Type"); 54 typeAttribute.Value = typeString;50 typeAttribute.Value = PersistenceManager.BuildTypeString(this.GetType()); 55 51 node.Attributes.Append(typeAttribute); 56 52 XmlAttribute guidAttribute = document.CreateAttribute("GUID"); -
trunk/sources/HeuristicLab.Core/VariableInfo.cs
r2 r40 124 124 125 125 XmlAttribute dataTypeAttribute = document.CreateAttribute("DataType"); 126 string typeString = DataType.AssemblyQualifiedName; 127 string[] tokens = typeString.Split(new string[] { ", " }, StringSplitOptions.None); 128 typeString = tokens[0] + ", " + tokens[1]; 129 dataTypeAttribute.Value = typeString; 126 dataTypeAttribute.Value = PersistenceManager.BuildTypeString(DataType); 130 127 node.Attributes.Append(dataTypeAttribute); 131 128
Note: See TracChangeset
for help on using the changeset viewer.