예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }