private IDictionary <string, T> GetIndexedValues <T>(IList <string> path, string name) { var dictionary = new Dictionary <string, T>(); var keys = trie.GetChildKeys(path.Concat(new[] { name })); foreach (var index in keys) { var value = trie.GetValue(MakePath(path, name, index, SerialisationMetadata.EntryIndexedValue)); var key = SerialisationMetadata.ParseKey(index); dictionary.Add(key, (T)value); } return(dictionary); }
private IEnumerable <string> EnumerateKeys(IEnumerable <string> path) { return(from key in trie.GetChildKeys(path) select SerialisationMetadata.ParseKey(key)); }