public bool RemoveData <T>(string key) where T : class { if (SettingsBrokerInstances.All(s => s.Key != key)) { throw new NotSupportedException("Item does not exists"); } return(SettingsBrokerInstances.Remove(SettingsBrokerInstances.FirstOrDefault(s => s.Key == key))); }
public T GetData <T>(string key) where T : class { if (SettingsBrokerInstances.All(s => s.Key != key)) { return(default(T)); } return(SettingsBrokerInstances.FirstOrDefault(s => key == s.Key).Value as T); }
public void SetData <T>(string key, T value) where T : class { if (SettingsBrokerInstances.Any(s => s.Key == key)) { throw new NotSupportedException("Allready contains this item"); } SettingsBrokerInstances.Add(new SettingsBrokerInstance { Key = key, Value = value }); }
public void ChangeFileWithCopy(string filename) { SettingsBrokerInstance[] deepcopy = SettingsBrokerInstances.ToArray(); Filename = filename; foreach (SettingsBrokerInstance settingsBrokerInstance in deepcopy) { if (GetData <object>(settingsBrokerInstance.Key) != null) { OverrideData(settingsBrokerInstance.Key, settingsBrokerInstance.Value); } else { SetData(settingsBrokerInstance.Key, settingsBrokerInstance.Value); } } }
public IEnumerator GetEnumerator() { return(new DataBrokerEnumerator(SettingsBrokerInstances.ToArray())); }