-1

我正在关注关于制作基于文本的游戏的 C# 教程,但我一开始就遇到了问题。以下代码:

namespace GameV2
{
    class Level
    {
        private static Room[,] rooms;

        #region Properties
        public static Room[,] Rooms
        {
            get { return rooms; }
        }
        #endregion


        public static void Initialize();
    *{*
    }

        private static *BuildLevel*();
    {
    }
        return false;


    }
*}*

给了我3个错误。

错误 1 ​​类、结构或接口成员声明中的标记“{”无效

错误 2 预期的类、委托、枚举、接口或结构
错误 3 类型或命名空间定义,或预期的文件结尾

斜体按顺序表示错误。由于某种原因,Visual c# express 不允许我在方法定义中使用 { ,并将我的最终 } 推出代码框。关于为什么会发生这种情况的任何想法?

4

7 回答 7

2
public static void Initialize();

private static *BuildLevel*();

那些是声明。它们后面不能跟{ }. 删除;它,它会工作。

private static TYPEHERE *BuildLevel*();

这缺少返回类型。

于 2012-01-05T22:07:28.030 回答
2
  • 方法后面没有分号。您可能会将它们与 C 方法原型混淆。

  • BuildLevel 应该有一个返回类型。

  • 所有语句都必须在方法内部,只能在方法外部声明

这应该编译:

namespace GameV2
{
    class Level
    {
        private static Room[,] rooms;

        #region Properties
        public static Room[,] Rooms
        {
            get { return rooms; }
        }
        #endregion


        public static void Initialize()
        {
        }

        private static bool BuildLevel()
        {
            return false;
        }

    }
}
于 2012-01-05T22:08:54.097 回答
1

去掉两个;

public static void Initialize()
{
}

private static BuildLevel()
{
}
于 2012-01-05T22:07:49.620 回答
0
public static void Initialize();
{
}

应该

public static void Initialize()
{
}
于 2012-01-05T22:07:38.607 回答
0

删除函数声明末尾的分号(在左大括号之前)。

于 2012-01-05T22:07:58.030 回答
0

注意分号。在方法名称和它们的主体之间有分号。

于 2012-01-05T22:08:23.643 回答
0

这可能是问题所在:

private static *BuildLevel*();
    {
    }
        return false;

您没有指定返回类型,return false;应该在括号内。

于 2012-01-05T22:08:41.900 回答