更新: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;
        }
    }