/// <summary> /// Método para crear una nueva instancia de ModeloDisrupciones a partir de la actual. /// </summary> /// <returns>Objeto de ModeloDisrupciones</returns> public object Clone() { ModeloDisrupciones m = null; foreach (string s in this.ColeccionDisrupciones.Keys) { int dim = ColeccionDisrupciones[s].Dimension; if (dim == 1) { InfoDisrupcion1D info = ColeccionDisrupciones[s] as InfoDisrupcion1D; m.ColeccionDisrupciones.Add(s, (InfoDisrupcion1D)info.Clone()); } else if (dim == 2) { InfoDisrupcion2D info = (Disrupciones.InfoDisrupcion2D)ColeccionDisrupciones[s]; m.ColeccionDisrupciones.Add(s, (InfoDisrupcion2D)info.Clone()); } else if (dim == 3) { InfoDisrupcion3D info = (Disrupciones.InfoDisrupcion3D)ColeccionDisrupciones[s]; m.ColeccionDisrupciones.Add(s, (InfoDisrupcion3D)info.Clone()); } } return(m); }
/// <summary> /// Crea una copia de la instancia actual /// </summary> /// <returns></returns> public object Clone() { InfoDisrupcion1D a = new InfoDisrupcion1D(this.Nombre, this.Dimension, this.AplicaDesviacionEnEscenarios); foreach (string s1 in this.Parametros.Keys) { a.Parametros.Add(s1, new DataDisrupcion()); a.Parametros[s1].Prob = this.Parametros[s1].Prob; a.Parametros[s1].Media = this.Parametros[s1].Media; a.Parametros[s1].Desvest = this.Parametros[s1].Desvest; } return(a); }