簡體   English   中英

從未使用過Resharper方法

[英]Resharper Method is never used

我在一個項目中有一個面向公眾的界面,最終將成為一個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設置”下找到了此Reshaper Options > Code Inspection > Settings

在您的情況下,由於您已經提到禁用了SWEA,我建議禁用以下復選框ReSharper | Options | Code Inspection | Settings | General | Show unused non-private type members when solution-wide analysis is off ReSharper | Options | Code Inspection | Settings | General | Show unused non-private type members when solution-wide analysis is off ReSharper | Options | Code Inspection | Settings | General | Show unused non-private type members when solution-wide analysis is off

解決方案#1

你可以用

 // ReSharper disable UnusedMember.Global

如果您在方法之前放置此方法,則禁用該方法的警告...

public interface IMyInterface
{
    // ReSharper disable once UnusedMember.Global
    void MyMethod();
}

如果將其放在命名空間聲明之前,則禁用整個文件的警告。

否則你可以這樣做,所以你禁用了界面的警告:

[SuppressMessage("ReSharper", "UnusedMember.Global")]
public interface IMyInterface
{
    void MyMethod();
}

解決方案#2

您可以采取的最后一個解決方案是在Resharper選項中禁用此類消息,取消選中代碼檢查 - >編譯器警告 - >從不使用字段。

我想是解決你的問題的唯一解決方案,通過所有類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM