編譯器警告 (層級 3) CS0414
更新:2007 年 11 月
錯誤訊息
已指定私用欄位 'field',但是它的值從未使用
這個警告可能發生在幾個情況中,其中編譯器會驗證是否有變數從未受到參考:
私用欄位已指派了常數值,但絕不會馬上讀取。不必要的指派可能會影響效能。請考慮移除該欄位。
私用或內部靜態欄位只會在初始設定式中指派常數值。請考慮將該欄位變更為常數。
私用或內部欄位已指派了常數值,並且只會在 #ifdef 指示詞所排除的區塊中使用。請考慮將該欄位放在 #ifdef 區塊內。
私用或內部欄位已在多個位置中指派常數值,但無法存取。如果您不需要該欄位,請考慮予以移除。否則,請以適當的方法使用該欄位。
在其他狀況下,或者不接受建議的解決辦法時,請使用 #pragma 0414。
下列範例將示範一種會產生 CS0414 的情況:
// CS0414
// compile with: /W3
class C
{
private int i = 1; // CS0414
public static void Main()
{ }
}
注意 如果變數 i 宣告為 protected or public,就不會產生任何錯誤,因為編譯器無法知道衍生的類別是否會使用它,或某些其他的用戶端程式碼是否會具現化類別並參考此變數。