編譯器錯誤 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;
}
}