Esempio n. 1
0
        public int GetProjectEnum(uint grfEnumFlags, ref Guid rguidEnumOnlyThisType, out IEnumHierarchies ppenum)
        {
            __VSENUMPROJFLAGS flags = (__VSENUMPROJFLAGS)grfEnumFlags;

            ProjectInfo[] projects;
            if (flags.HasFlag(__VSENUMPROJFLAGS.EPF_MATCHTYPE))
            {
                var guid = rguidEnumOnlyThisType;
                projects = _projects.Values.Where(x => x.ProjectGuid == guid).ToArray();
            }
            else if (flags.HasFlag(__VSENUMPROJFLAGS.EPF_ALLPROJECTS))
            {
                projects = _projects.Values.ToArray();
            }
            else
            {
                throw new NotImplementedException();
            }

            ppenum = new ProjectEnum(projects);
            return(VSConstants.S_OK);
        }