コード例 #1
0
        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>());
            }
        }
コード例 #2
0
        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);
        }