コード例 #1
0
            public override bool CopyTo(GlobalPrefsItem destBase)
            {
                GlobalPrefsSimpleItem <T> dest = (GlobalPrefsSimpleItem <T>)destBase; // covariant

                if (explicitlySet || !EqualityComparer <T> .Default.Equals(this.value, dest.value))
                {
                    dest.Value = this.value;
                    return(true);
                }
                return(false);
            }
コード例 #2
0
            private GlobalPrefsSimpleItem <T> GetItemForCurrentComputer()
            {
                string key = Environment.GetEnvironmentVariable("COMPUTERNAME");
                GlobalPrefsSimpleItem <T> item;

                if (!values.TryGetValue(key, out item))
                {
                    item = new GlobalPrefsSimpleItem <T>(ValueName, defaultValue);
                    values.Add(key, item);
                }
                return(item);
            }
コード例 #3
0
            public override bool CopyTo(GlobalPrefsItem destBase)
            {
                bool result = false;
                GlobalPrefsComputerNameKeyedItem <T> dest = (GlobalPrefsComputerNameKeyedItem <T>)destBase; // covariant

                dest.values.Clear();
                foreach (KeyValuePair <string, GlobalPrefsSimpleItem <T> > item in values)
                {
                    GlobalPrefsSimpleItem <T> copy = new GlobalPrefsSimpleItem <T>(ValueName, defaultValue);
                    dest.values.Add(item.Key, copy);
                    result = item.Value.CopyTo(copy) || result;
                }
                return(result);
            }
コード例 #4
0
            public override void Read(XPathNavigator containerNav)
            {
                XPathNavigator navTop = containerNav.SelectSingleNode(propertyName);

                if (navTop != null)
                {
                    foreach (XPathNavigator navItem in navTop.Select(ItemName))
                    {
                        string computerName            = navItem.SelectSingleNode(ComputerName).Value;
                        GlobalPrefsSimpleItem <T> item = new GlobalPrefsSimpleItem <T>(ValueName, defaultValue);
                        item.Read(navItem);
                        values.Add(computerName, item);
                    }
                }
            }