Exemplo n.º 1
0
        public override string SetPropertyValue(string key, string value)
        {
            string oldValue = null;

            ConfigurationMap.AddOrUpdate(key, value, (k, v) => { oldValue = v; return(value); });
            if (OnChange != null && !object.Equals(oldValue, value))
            {
                var changedProperties = new PropertyChangedEventArgs[1];
                changedProperties[0] = new PropertyChangedEventArgs(key, oldValue, value);
                Task.Factory.StartNew(() =>
                {
                    Thread.Sleep(1000);
                    OnChange(this, new ConfigurationChangedEventArgs(changedProperties));
                });
            }
            return(oldValue);
        }