我在一个项目中有一个面向公众的界面,最终将成为一个nuget包。这是代码:
public interface MyInterface
{
void MyMethod();
}
现在,此接口中的每个方法都未在该库中使用,而是通过包在其他方法中使用。但是,此处的每个方法都警告为Method x is never used.
有没有一种简单的方法可以告诉ReSharper忽略我打开过的每个解决方案中每个项目中的每个公共方法,以免在公共方法中执行此检查。
我有几种方法可以解决此问题,但这太繁琐了。
选项1:[UsedImplicitly]
用于类中的每个方法。我认为这太繁琐了。
选项2:[SuppressMessage("ReSharper", "UnusedMember.Global")]
有点乏味,但是仍然必须在每个类上实现。
必须有更好的方法吗?
我还在某处读到,只有在选中Enable solution-wide analysis
时才会发生这种情况。就我而言不是。我在Reshaper Options > Code Inspection > Settings
答案 0 :(得分:5)
在您的情况下,由于您已经提到SWEA已禁用,因此我建议禁用以下复选框ReSharper | Options | Code Inspection | Settings | General | Show unused non-private type members when solution-wide analysis is off
。
答案 1 :(得分:0)
您可以使用
// ReSharper disable UnusedMember.Global
如果将其放在方法前面,则会禁用该方法的警告...
public interface IMyInterface
{
// ReSharper disable once UnusedMember.Global
void MyMethod();
}
如果将其放在名称空间声明之前,则会禁用整个文件的警告。
否则,您可以这样做,因此可以禁用该界面的警告:
[SuppressMessage("ReSharper", "UnusedMember.Global")]
public interface IMyInterface
{
void MyMethod();
}
您可以采取的最后一种解决方案是在“ Resharper选项”中取消选中“代码检查”->“编译器警告”->“从不使用”字段来禁用此类消息。
我想这是唯一可以解决所有类问题的解决方案。