永远不会将字段分配给,并始终将其默认值设置为null

时间:2013-04-21 09:36:04

标签: c#

当我的程序第一次启动时,在main方法中我创建了一个新菜单,然后进入菜单类。

    private static Shop shop;
    private static Player player;

    public static void Main(string[] args)
    {
        Menu menu = new Menu();

        menu.start(menu, shop, player);
    }

在我的菜单类中,我有一个名为start()的方法。其中打印出用户的选项。

    private Menu menu;
    private Shop shop;
    private Player player;

    public void start(Menu menu, Shop shop, Player player)
    {

        this.menu = menu;
        this.shop = shop;

然后当我编译我的程序时,我选择去商店,我得到一个错误:'对象引用未设置为对象的实例。'。我想我知道自己要做什么,但我不太确定你是如何在大班上做的。

我想我必须添加

Shop shop

作为Main方法中的参数。然后声明

this.shop = shop;

我在其他课程中的方法内部。

我尝试过这样做,但总是会出现错误。既然这是主要方法,我是否必须采取不同的方法?

1 个答案:

答案 0 :(得分:4)

您实际上没有分配这些静态引用:

private static Shop shop = new Shop();
private static Player player = new Player();