private void InitLodCollection(out IVersionedCollection <IIndicator>[] lodCollection) { lodCollection = new IVersionedCollection <IIndicator> [DrawLayers.Length]; for (int i = 0; i < lodCollection.Length; ++i) { lodCollection[i] = new VersionedCollection <IIndicator>(new HashSet <IIndicator>()); } }
private VersionedCollection <string> GetInheritChainMDStringList(VersionedCollection <string> chain, Type current) { VersionedCollection <string> rval = new VersionedCollection <string> { Values = new List <string>(), ValuesPerLanguage = new List <PerLanguageString>(), Monikers = chain.Monikers }; Type child = null; string parentUid = string.Empty; string childrenUid = string.Empty; string typeStr = string.Empty; string typeMDStr = string.Empty; List <PerLanguageString> typeMDStrPerLang; int i = 0; for (; i < chain.Values.Count - 1; i++) { parentUid = chain.Values[i]; childrenUid = chain.Values[i + 1]; child = _store.TypesByUid[childrenUid]; typeMDStr = GetParentTypeStringFromChild(child, parentUid); rval.Values.Add(typeMDStr); typeMDStrPerLang = TypeStringToMDWithTypeMapping(GetParentTypeNameFromChild(child, parentUid), current.Signatures?.DevLangs); if (typeMDStrPerLang != null) { rval.ValuesPerLanguage.AddRange(typeMDStrPerLang); } } parentUid = chain.Values[i]; child = current; typeMDStr = GetParentTypeStringFromChild(child, parentUid); rval.Values.Add(typeMDStr); typeMDStrPerLang = TypeStringToMDWithTypeMapping(GetParentTypeNameFromChild(child, parentUid), current.Signatures?.DevLangs); if (typeMDStrPerLang != null) { rval.ValuesPerLanguage.AddRange(typeMDStrPerLang); } if (!rval.ValuesPerLanguage.Any() || rval.ValuesPerLanguage.Select(v => v.Value).SequenceEqual(rval.Values)) { rval.ValuesPerLanguage = null; } return(rval); }