public string GetDefinition(string taxonomy, string elementID) { taxonomy = Path.GetFileName(taxonomy); if (!this.Taxonomies.ContainsKey(taxonomy)) { return(string.Empty); } if (!definitionCache.ContainsKey(this.Language)) { definitionCache[this.Language] = new Dictionary <string, Dictionary <string, string> >(); } if (!definitionCache[this.Language].ContainsKey(taxonomy)) { string basePath = Path.Combine(GetBasePath(), DefinitionPath); Dictionary <string, string> tmp = definitionCache[this.Language][taxonomy] = new Dictionary <string, string>(); foreach (string definitionFile in this.Taxonomies[taxonomy].DefinitionFiles) { string err; string file = Path.Combine(basePath, definitionFile); if (!Taxonomy.TryGetDocumentationInformation(this.Language, file, ref tmp, out err)) { } } } if (definitionCache[this.Language][taxonomy].ContainsKey(elementID)) { return(definitionCache[this.Language][taxonomy][elementID]); } return(string.Empty); }