-1

我正在尝试编写一个简单的 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 文档没有解释如何检查方法的返回类型,也没有解释如何更改返回类型。

4

1 回答 1

1

有点过了,不知道你是否还在寻找答案。其他人也可能会觉得这很有帮助。您可以使用以下内容:

element.DeclaredElement.ReturnType.GetPresentableName(CSharpLanguage.Instance);

不幸的是,我不太清楚如何设置返回类型。

于 2013-08-23T18:33:21.020 回答