public DataType?Find(string synonym) { synonym = synonym.ToLower(); if (Synonyms.ContainsKey(synonym)) { return(Synonyms[synonym].DataType); } return(null); }
public void Add(string name, DataType type, string[] synonyms) { TypeMapItem item; foreach (var syn in synonyms) { if (Synonyms.ContainsKey(syn.ToLower())) { throw new ExpressionException("Synonym '" + syn + "' already added to type map"); } } if (!Items.ContainsKey(name.ToLower())) { item = Items[name.ToLower()] = new TypeMapItem { Name = name, DataType = type, Synonyms = synonyms.ToList() }; } else { item = Items[name.ToLower()]; item.Synonyms.AddRange(synonyms); } foreach (var syn in synonyms) { if (!Synonyms.ContainsKey(syn.ToLower())) { Synonyms.Add(syn.ToLower(), item); } } if (!Synonyms.ContainsKey(name.ToLower())) { Synonyms.Add(name.ToLower(), item); } }