首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Resharper IQuotedValue

Resharper IQuotedValue
EN

Stack Overflow用户
提问于 2014-03-14 16:35:52
回答 1查看 43关注 0票数 1

我在C#中有这个变量,它是我正在创建的resharper插件的一部分,用于对所有引用的值(不仅仅是字符串)抛出一个警告。

代码语言:javascript
复制
                var sourceFile = _process.SourceFile;
                var file = sourceFile.GetPsiServices().Files.GetDominantPsiFile<CSharpLanguage>(sourceFile);

                if (file != null)
                {
                    var highlights = new List<HighlightingInfo>();

                    var stringHighlight = new RecursiveElementProcessor<IQuotedValue>(declaration =>
                    {
                        var docRange = declaration.GetDocumentRange();
                            highlights.Add(new HighlightingInfo(docRange, new MakeMethodVirtualSuggestion("Warning...")));
                    });

                   file.ProcessDescendants(stringHighlight);
                   commiter(new DaemonStageResult(highlights));
                }

它在使用IMethodDeclaration时可以工作,但无法理解如何获取IQuotedValue值。在这种情况下使用RecursiveElementProcessor是错误的吗?任何和所有的帮助都是非常感谢的,一直试图解决这个问题很多个小时了。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-14 19:56:09

IQuotedValue是一个XAML元素-它不会在C#语法树中使用。最好的方法是查找ILiteralExpressionICSharpLiteralExpression的元素,然后查看Literal属性以查看它是什么- truefalse (数字、字符或字符串)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22410844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档