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);
}
}
}