コード例 #1
0
        public IEnumerable <List <Reference> > FindAllReferences(string refString)
        {
            var refsList = new ConcurrentBag <List <Reference> >();
            var files    = Project.GetProjectFiles();

            Task.WaitAll(files.Select(file => Project.ProjectDirectory.Combine(file.FileFullPath))
                         .Select(filePath => Task.Factory.StartNew(() =>
            {
                var refs = _parserService.FindAllReferencesInFile(filePath, refString);
                if (refs.Any())
                {
                    refsList.Add(refs);
                }
            })).ToArray());

            return(refsList);
        }