/// <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() { InfoDisrupcion2D a = new InfoDisrupcion2D(this.Nombre, this.Dimension, this.AplicaDesviacionEnEscenarios); foreach (string s1 in this.Parametros.Keys) { a.Parametros.Add(s1, new SerializableDictionary <string, DataDisrupcion>()); foreach (string s2 in this.Parametros[s1].Keys) { a.Parametros[s1].Add(s2, new DataDisrupcion()); a.Parametros[s1][s2].Prob = this.Parametros[s1][s2].Prob; a.Parametros[s1][s2].Media = this.Parametros[s1][s2].Media; a.Parametros[s1][s2].Desvest = this.Parametros[s1][s2].Desvest; } } return(a); }