如何告诉ReSharper一个属性意味着使用了一个方法? [英] How do I tell ReSharper that an attribute means that a method is used?

查看:14
本文介绍了如何告诉ReSharper一个属性意味着使用了一个方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在玩SpecFlow,ReSharper认为我的步骤定义没有使用(我猜是因为它们是通过反射使用的):

[Binding]
public class StepDefinitions
{
    // ...

    [When(@"I press add")]
    public void WhenIPressAdd()   // R# thinks this is unused
    {
        _calculator.PressAdd();
    }

    // ...
}
如何告诉ReSharper具有[Given][When][Then]属性(等)方法是不是真的用过了?我不想使用// ReSharper disable UnusedMember.Global评论。

我还可以用[JetBrains.Annotations.UsedImplicitly]标记每个方法(或整个类)。我也不是特别想这么做。

推荐答案

您需要使用JetBrains注释,并用MeansImplicitUseAttribute标记属性。您可以直接引用JetBrains.Annotations.dll,也可以将批注源代码(从ReSharper/选项/代码检查/代码批注)复制到您的解决方案中。

如果您需要批注一些不属于您的外部程序集,则需要在以下文件夹中创建一个外部批注文件(XML):%ReSharperInstallDir%BinExternalAnnotations。有很多例子,你可以照搬一些。

如果您将其命名为DllNameWithoutExtension.ExternalAnnotations.xml,则外部批注文件也可以与DLL位于相同的路径中。

这篇关于如何告诉ReSharper一个属性意味着使用了一个方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆