Пример #1
0
        static bool Unset(ref NPropertyBag head, NProperty key)
        {
            var e = head.GetEntry(key);

            if (e == null)
            {
                return(false); // value not changed -> do nothing
            }
            head = head.Clone();
            head.Remove(key);
            return(true);
        }
Пример #2
0
        static bool Set(ref NPropertyBag head, NProperty key, object value)
        {
            var e = head.GetEntry(key);

            if (e != null && Equals(e._value, value))
            {
                return(false); // value not changed -> do nothing
            }
            head = head.Clone();
            head.Set(key, value);

            return(true);
        }