共用方式為


CA1801:必須檢視未使用的參數

型別名稱

ReviewUnusedParameters

CheckId

CA1801

分類

Microsoft.Usage

中斷變更

非中斷 - 如果不論您做了何種變更,在組件外部都看不到成員

非中斷 - 如果您將成員變更為使用其主體內的參數

中斷 - 如果您移除參數,而在組件外看得到該參數

原因

方法簽章包括不用於方法主體中的參數; 這個規則不會檢查下列方法:

  • 委派 (Delegate) 所參考的方法

  • 做為事件處理常式的方法

  • 以 abstract (在 Visual Basic 中則為 MustOverride) 修飾詞宣告的方法

  • 以 virtual (在 Visual Basic 中則為 Overridable) 修飾詞宣告的方法

  • 以 override (在 Visual Basic 中則為 Overrides) 修飾詞宣告的方法

  • 以 extern (在 Visual Basic 中則為 Declare 陳述式) 修飾詞宣告的方法

規則描述

請檢查方法主體中,未使用的非虛擬方法中的參數,確認沒有因存取失敗而進行修正的情形。 未使用的參數會造成維護和效能上的負擔。

有時候這項規則的違規會指向方法中的實作錯誤。 例如,參數應該已經在方法主體內使用。 如果這些參數基於回溯相容性的緣故必須存在,請隱藏這項規則的警告。

如何修正違規

若要修正此規則的違規情形,請移除不使用的參數 (中斷變更),或是在方法主體中使用參數 (非中斷變更)。

隱藏警告的時機

先前提供之程式碼的修正若是中斷變更,則您可以放心地隱藏這項規則的警告。

範例

以下範例顯示兩個方法。 一個方法會違反規則,而另一個方法會滿足規則。

using System;
using System.Globalization;

namespace Samples
{
    public static class TestClass
    {
        // This method violates the rule.
        public static string GetSomething(int first, int second)
        {
            return first.ToString(CultureInfo.InvariantCulture);
        }

        // This method satisfies the rule.
        public static string GetSomethingElse(int first)
        {
            return first.ToString(CultureInfo.InvariantCulture);
        }
    }
}

相關規則

CA1811:避免使用未呼叫的私用程式碼

CA1812:避免使用未執行個體化的內部類別

CA1804:必須移除未使用的區域變數