Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/23/09 16:43:34 (15 years ago)
Author:
swagner
Message:

Refactored cloning (#806)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Core/3.3/OperatorGroup.cs

    r1823 r2526  
    3030  /// Representation of a group of operators (can also include subgroups).
    3131  /// </summary>
    32   public class OperatorGroup : StorableBase, IOperatorGroup {
     32  public class OperatorGroup : ItemBase, IOperatorGroup {
    3333
    3434    [Storable]
     
    8080    /// Clones the current instance (deep clone).
    8181    /// </summary>
    82     /// <remarks>Deep clone with <see cref="Auxiliary.Clone"/> method of helper class
     82    /// <remarks>Deep clone with <see cref="cloner.Clone"/> method of helper class
    8383    /// <see cref="Auxiliary"/>.</remarks>
    8484    /// <param name="clonedObjects">Dictionary of all already cloned objects. (Needed to avoid cycles.)</param>
    8585    /// <returns>The cloned object as <see cref="OperatorGroup"/>.</returns>
    86     public override object Clone(IDictionary<Guid, object> clonedObjects) {
    87       OperatorGroup clone = (OperatorGroup)base.Clone(clonedObjects);
     86    public override IItem Clone(ICloner cloner) {
     87      OperatorGroup clone = (OperatorGroup)base.Clone(cloner);
    8888      clone.myName = Name;
    8989      foreach (IOperatorGroup group in SubGroups)
    90         clone.AddSubGroup((IOperatorGroup)Auxiliary.Clone(group, clonedObjects));
     90        clone.AddSubGroup((IOperatorGroup)cloner.Clone(group));
    9191      foreach (IOperator op in Operators)
    92         clone.AddOperator((IOperator)Auxiliary.Clone(op, clonedObjects));
     92        clone.AddOperator((IOperator)cloner.Clone(op));
    9393      return clone;
    9494    }
Note: See TracChangeset for help on using the changeset viewer.