コード例 #1
0
        public async Task FindClick()
        {
            ShowToastInfo("Searching for references");

            FindReferencesResult.Clear();

            if (SelectedSolutionItem is TypeViewModel type)
            {
                var project = (SelectedSolutionItem.Parent.Parent as ProjectViewModel)?.Project;

                await foreach (var reference in _solutionManager.FindReferenceInSolutions(project, type.TypeDetails.Symbol, _progress))
                {
                    FindReferencesResult.Add(reference);
                }
            }
            else if (SelectedSolutionItem is MemberViewModel member)
            {
                var project = (SelectedSolutionItem.Parent.Parent.Parent as ProjectViewModel)?.Project;

                await foreach (var reference in _solutionManager.FindReferenceInSolutions(project, member.Member.Symbol, _progress))
                {
                    FindReferencesResult.Add(reference);
                }
            }

            ShowToastInfo("Searching finish");
            ReportReady();
            IsFindAllReferencesVisible = true;
        }