【发布时间】:2013-05-07 23:57:40
【问题描述】:
我正在尝试编写一个简单的 ReSharper 7.1 插件来在某些情况下更改方法的返回类型。
我从ElementProblemAnalyzer<IMethodDeclaration> 派生了我的类并实现了Run 方法,如下所示:
protected override void Run(IMethodDeclaration element, ElementProblemAnalyzerData data, IHighlightingConsumer consumer)
{
consumer.AddHighlighting(new CustomHighlighting(element), element.TypeUsage.GetDocumentRange(), element.GetContainingFile());
}
效果很好,因为它突出了每个方法的返回类型。我似乎无法弄清楚如何检查返回类型是否为void,也无法将方法类型从void 更改为其他类型。
我看到IMethodDeclaration 接口有一个TypeUsage,它是IPreDefinedType 的一个实例,它又实现了IType,但是ReSharper SDK 文档没有解释如何检查该方法的返回类型,也不知道如何更改返回类型。
【问题讨论】:
-
这仍然是真实的吗?
-
@DmitryOsinovskiy 我暂时搁置了这个想法,但是是的,我仍然对答案感兴趣。
标签: c# .net resharper resharper-7.1 resharper-sdk