共用方式為


編譯器錯誤 CS0844

更新:2007 年 11 月

錯誤訊息

在宣告區域變數 'name' 之前無法使用此變數。區域變數的宣告隱藏了欄位 'name'。

識別項在指定區塊中只能有一個意義。具有與類別 (Class) 欄位相同之名稱的區域變數,可以引進識別項的第二個意義以隱藏欄位。因此,當您參考方法中的類別欄位,並接著以相同名稱宣告區域變數時,編譯器 (Compiler) 就會產生錯誤訊息。

若要修正這個錯誤

  • 使用 this.num 來參考類別欄位。

  • 為區域變數指定與類別欄位不同的名稱。

範例

下列程式碼會產生 CS0844:

class Test
    {
        int num;
        public void TestMethod()
        {
            num = 5; // CS0844
            int num = 6;        }
        public static int Main()
        {
            return 1;
        }
    }