public override CoordinatesCrossover <TAlgorithm, TProblem, TSolution> DeepClone() { return(new CoordinatesCrossoverExtendedLine <TAlgorithm, TProblem, TSolution> { GetDimension = (Func <int>?)GetDimension?.Clone(), GetRandom = (Func <Random>?)GetRandom?.Clone() }); }
public override CoordinatesInitializer <TAlgorithm, TProblem, TSolution> DeepClone() { return(new CoordinatesInitializerUniform <TAlgorithm, TProblem, TSolution> { GetDimension = (Func <int>?)GetDimension?.Clone(), GetLowerSearchBorders = (Func <double[]>?)GetLowerSearchBorders?.Clone(), GetUpperSearchBorders = (Func <double[]>?)GetUpperSearchBorders?.Clone(), GetRandom = (Func <Random>?)GetRandom?.Clone() }); }