我正在关注制作基于文本的游戏的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将不允许我使用{在方法定义中,并将我的最终}推出代码框。关于为什么会发生这种情况的任何想法?
答案 0 :(得分:2)
public static void Initialize();
private static *BuildLevel*();
这些是声明。它们不能被{ }
跟随。删除;
即可。
private static TYPEHERE *BuildLevel*();
缺少返回类型。
答案 1 :(得分: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;
}
}
}
答案 2 :(得分:1)
删除两个;
public static void Initialize()
{
}
private static BuildLevel()
{
}
答案 3 :(得分:0)
public static void Initialize();
{
}
应该是
public static void Initialize()
{
}
答案 4 :(得分:0)
从函数声明的末尾删除分号(在开始大括号之前)。
答案 5 :(得分:0)
注意分号。方法名称和它们的主体之间有分号。
答案 6 :(得分:0)
这可能是问题所在:
private static *BuildLevel*();
{
}
return false;
您没有指定返回类型,return false;
应该在括号内。