Пример #1
0
        internal IDictionary <string, IAnalysisSet> GetAllMembers(IMemberContainer container, IModuleContext moduleContext)
        {
            var names  = container.GetMemberNames(moduleContext);
            var result = new Dictionary <string, IAnalysisSet>();

            foreach (var name in names)
            {
                result[name] = GetAnalysisValueFromObjects(container.GetMember(moduleContext, name));
            }
            var children = (container as IModule)?.GetChildrenPackages(moduleContext);

            if (children?.Any() ?? false)
            {
                foreach (var child in children)
                {
                    IAnalysisSet existing;
                    if (result.TryGetValue(child.Key, out existing))
                    {
                        result[child.Key] = existing.Add(child.Value);
                    }
                    else
                    {
                        result[child.Key] = child.Value;
                    }
                }
            }

            return(result);
        }
Пример #2
0
        internal IDictionary <string, ISet <Namespace> > GetAllMembers(IMemberContainer container, IModuleContext moduleContext)
        {
            var names  = container.GetMemberNames(moduleContext);
            var result = new Dictionary <string, ISet <Namespace> >();

            foreach (var name in names)
            {
                result[name] = GetNamespaceFromObjects(container.GetMember(moduleContext, name));
            }

            return(result);
        }
Пример #3
0
 public static IEnumerable <IMember> GetMembers(this IMemberContainer mc) => mc.GetMemberNames().Select(mc.GetMember);