Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public PersistentState Clone()
        {
            var clone = new PersistentState();

            foreach (string key in this.Keys)
            {
                clone.Add(key, this[key]);
            }

            return(clone);
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public override bool Equals(object obj)
        {
            if (obj is null)
            {
                return(false);
            }

            if (obj is PersistentState == false)
            {
                return(false);
            }

            PersistentState other = obj as PersistentState;

            if (this.Keys.Count != other.Keys.Count)
            {
                return(false);
            }

            var equal = JsonConvert.SerializeObject(this, Formatting.None) == JsonConvert.SerializeObject(other, Formatting.None);

            return(equal);

            //foreach (string key in this.Keys)
            //{
            //    if (other.TryGetValue(key, out var ov))
            //    {
            //        if (ov != this[key])
            //        {
            //            return false;
            //        }
            //    }
            //}

            //return true;
        }