C#"非静态字段需要对象引用",静态成员函数的类问题

Dav*_*wer 1 c# visual-studio-2008

我正在为一所学校的项目工作(申请我的CIS学士学位),我遇到了一个类功能问题.

 public static int GetNumberCreated()
    {
        // return the total number of airplanes created using the class as the blueprint

        return numberCreated;  // returns the number of airplanes created
    }//end of public int GetNumberCreated()
Run Code Online (Sandbox Code Playgroud)

这是一个程序,可以返回到目前为止在这个小型C#程序中你制作了多少架飞机的价值.我在开头宣布numberCreated:

private int numberCreated;
Run Code Online (Sandbox Code Playgroud)

我得到了经典错误"非静态字段,方法或属性需要一个对象引用"我已经做了大量的研究,试图弄清楚发生了什么,但我什么也没做到.

然而,我确实在类的底部设置了一个属性,以便表单能够访问变量:

public int NumberCreated { get; set; }
Run Code Online (Sandbox Code Playgroud)

我还尝试将属性更改为:

public int NumberCreated { get { return numberCreated; } set { numberCreated = value; } }
Run Code Online (Sandbox Code Playgroud)

没有运气.>>"

我究竟做错了什么?

Wra*_*ath 5

您需要将创建的数字int声明为static.

eg public static int NumberCreated {get;set;}
Run Code Online (Sandbox Code Playgroud)

您可以从非静态方法访问静态成员,但无法从静态方法访问非静态成员.例如,实例变量不能从静态方法访问.