Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/05/08 02:08:02 (17 years ago)
Author:
swagner
Message:

Worked on ticket #41

  • added generic ItemList<T>
Location:
trunk/sources/HeuristicLab.Core
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Core/PersistenceManager.cs

    r22 r40  
    8282      return PersistenceManager.Restore(doc.ChildNodes[1], new Dictionary<Guid, IStorable>());
    8383    }
     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    }
    84109  }
    85110}
  • trunk/sources/HeuristicLab.Core/StorableBase.cs

    r2 r40  
    4747    public virtual XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<Guid,IStorable> persistedObjects) {
    4848      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];
    5349      XmlAttribute typeAttribute = document.CreateAttribute("Type");
    54       typeAttribute.Value = typeString;
     50      typeAttribute.Value = PersistenceManager.BuildTypeString(this.GetType());
    5551      node.Attributes.Append(typeAttribute);
    5652      XmlAttribute guidAttribute = document.CreateAttribute("GUID");
  • trunk/sources/HeuristicLab.Core/VariableInfo.cs

    r2 r40  
    124124
    125125      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);
    130127      node.Attributes.Append(dataTypeAttribute);
    131128
Note: See TracChangeset for help on using the changeset viewer.