更新:2007 年 11 月
错误消息
局部变量“name”在声明之前无法使用。局部变量的声明隐藏字段“name”。
在给定块中标识符只能有一种含义。通过为该标识符引入另一种含义,与类字段同名的局部变量可以隐藏字段。因此,如果在方法中引用类字段,然后使用相同名称声明局部变量,则编译器将生成错误。
更正此错误
使用 this.num 引用类字段。
为局部变量提供一个与类字段名称不同的名称。
示例
下面的代码将生成 CS0844:
class Test
{
int num;
public void TestMethod()
{
num = 5; // CS0844
int num = 6; }
public static int Main()
{
return 1;
}
}