/// <summary> /// Removes all entries that have the specified top value. /// </summary> /// <param name="top"></param> /// <returns>The number of entries removed.</returns> public int RemoveAll(L1T top) { //ICollection<KeyValuePair<CompT, TValue>> r = (ICollection<KeyValuePair<CompT, TValue>>) this; var thisAsCollection = this as ICollection <KeyValuePair <ExKeyT, IPropBag> >; List <KeyValuePair <ExKeyT, IPropBag> > toRemove = new List <KeyValuePair <ExKeyT, IPropBag> >(); foreach (KeyValuePair <ExKeyT, IPropBag> kvp in thisAsCollection) { L1T foundTop = CompKeyManager.Split(kvp.Key, out L2T bot); if (foundTop.Equals(top)) { toRemove.Add(kvp); } } int result = 0; foreach (KeyValuePair <ExKeyT, IPropBag> kvp in toRemove) { thisAsCollection.Remove(kvp); result++; } return(result); }
public bool ContainsKey(L1T top, L2T bot) { ExKeyT key = CompKeyManager.Join(top, bot); bool result = ContainsKey(key); return(result); }
public bool ContainsKey(L1T top, L2TRaw rawBot) { ExKeyT key = CompKeyManager.Join(top, Level2KeyManager.FromRaw(rawBot)); bool result = ContainsKey(key); return(result); }
public bool TryGetValue(L1T top, L2TRaw rawBot, out IPropData value) { bool result; if (CompKeyManager.TryJoin(top, rawBot, out ExKeyT comp)) { result = TryGetValue(comp, out value); return(result); } else { value = default(IPropData); return(false); } }
public bool TryGetValue(L1T top, L2T bot, out IPropData value) { ExKeyT key = CompKeyManager.Join(top, bot); return(TryGetValue(key, out value)); }
public bool TryAdd(L1T top, L2T bot, IPropData value) { ExKeyT key = CompKeyManager.Join(top, bot); return(TryAdd(key, value)); }
public IPropData GetOrAdd(L1T top, L2T bot, IPropData value) { ExKeyT key = CompKeyManager.Join(top, bot); return(GetOrAdd(key, value)); }
public bool TryRemove(L1T top, L2TRaw rawBot, out IPropData value) { ExKeyT key = CompKeyManager.Join(top, Level2KeyManager.FromRaw(rawBot)); return(TryRemove(key, out value)); }
public IPropData GetOrAdd(L1T top, L2TRaw rawBot, IPropData value) { ExKeyT key = CompKeyManager.Join(top, Level2KeyManager.FromRaw(rawBot)); return(GetOrAdd(key, value)); }