因为doadd ()是静态方法,静态方法中只能使用类中的静态变量.

解决方案 »

  1.   

    static为静态全局的啊.
    在静态函数里要用的啊
      

  2.   

    类的成员可以是静态成员或是实例成员。通常来讲,一般把静态成员看作属于类而把实例成员看作属于对象(类的实例)。
    当一个域、方法、属性、事件、操作符或构造函数声明包含静态修饰符,它就声明了一个静态成员。另外,一个常数或类型声明隐含地声明了一个静态成员。静态成员有下面的特征:
    • 当一个实例成员在形式E.M 的成员访问(§7.5.4)中被引用时,E必须表示一个类型。E表示一个实例是错误的。
    • 一个静态域确定一个存储位置。不管类中有多少实例被创建,只会有一个静态域的备份。
    • 一个静态功能成员(方法、属性、索引、操作符或构造函数)不会在一个指定的实例中操作,而在一个静态功能成员中使用this也是错误的。
    当一个域、方法、属性、事件、索引、构造函数或析构函数不包括static操作符,它就声明了一个实例成员。一个实例成员有时被称为非静态成员。实例成员有下面的特点:
    • 当一个实例成员在形式E.M 的成员访问中(§7.5.4)被引用时,E必须表示一个实例。E表示一个类型是错误的。
    • 一个类中的每个实例都包括类的实例域的分立备份。
    • 一个实例功能成员(方法、属性、访问符、索引访问符、构造函数或析构函数)在类中的一个给定实例中操作,而这个实例就可以通过this来访问(§7.5.7)。
    下面的例子演示了访问静态和实例成员的规则:
    class Test
    {
    int x;
    static int y;
    void F() {
    x = 1; // Ok, same as this.x = 1
    y = 1; // Ok, same as Test.y = 1
    }
    static void G() {
    x = 1; // Error, cannot access this.x
    y = 1; // Ok, same as Test.y = 1
    }
    static void Main() {
    Test t = new Test();
    t.x = 1; // Ok
    t.y = 1; // Error, cannot access static member through instance
    Test.x = 1; // Error, cannot access instance member through type
    Test.y = 1; // Ok
    }
    }