访问非静态成员需要一个对象引用

问题描述:

我很抱歉,我知道这个问题已被C#初学者(我是其中之一)提出过一千次以前的问题,但我可以找到的所有答案都说我需要要么实例化类,要么静态。我的类实例化的,我试图访问实例。任何人都可以看看我的代码,并找出出了什么问题?访问非静态成员需要一个对象引用

public class RocketSimMain { 

    public RocketShip test = new RocketShip(); 

    public static void Main() { 

     ... // Do some setup stuff here 

     //Run the game loop 
     while (!EndGameRequested()) { 
      test.Move(); <- Object instance error here. 
     } 
    } 
} 

正如你所看到的,我正在实例化类并访问实例。唯一可行的是在Main方法中实例化类,但是我无法在其他类中访问它。

+0

'test'不是一个静态成员变量,但是你试图从静态的'Main()'中访问它。 – xxbbcc

+0

'测试'本身是一个实例字段,不是静态的。你不能从静态上下文中使用它。 –

+1

[需要对象引用才能访问非静态成员](http://*.com/questions/6992681/an-object-reference-is-required-to-access-non-static-member) – xxbbcc

您必须将test设为静态才能使用静态方法(Main)。