C#Visual Studio认为我的课程会提前结束

C#Visual Studio认为我的课程会提前结束,c#,C#,我有一个没有错误的普通类,但是VisualStudio认为该类应该在结束之前结束。它认为整个阶级的c*括号本身。你能帮助我吗?我会给你看一张我的意思的照片: 你可以从这幅图中看出我的意思:这门课在不该结束的地方结束了。我已经尝试过删除一个新的括号,复制和粘贴,以及几乎任何你能想到的东西 编辑: 使用System.Linq; 使用系统集合; 使用System.Collections.Generic; 使用UnityEngine; 使用制度; 使用温热咖啡; 使用UnityEngine.UI; 公

我有一个没有错误的普通类,但是VisualStudio认为该类应该在结束之前结束。它认为整个阶级的c*括号本身。你能帮助我吗?我会给你看一张我的意思的照片:

你可以从这幅图中看出我的意思:这门课在不该结束的地方结束了。我已经尝试过删除一个新的括号,复制和粘贴,以及几乎任何你能想到的东西

编辑:

使用System.Linq;
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
使用制度;
使用温热咖啡;
使用UnityEngine.UI;
公共阶层模式:单一行为
{
公共文本级别TXT;
公共游戏对象[]显示行;
//可以多次使用的messageBox实例
私人保险箱;
公共游戏对象显示预制;
公开的游戏对象;
公共游戏对象用户预置;
公共游戏对象userBlockParent;
公共游戏对象[]用户行;
//用于函数检查数组中的所有布尔值是否为真的数组
私有布尔[]全部正确;
公共卫生;
公共int xNum;
公共卫生;
私人色彩[]颜色;
private bool-isHardGenerate=false;
//创建表所需的块之间的空间
私人浮动补偿;
//例如,当前有多少种颜色可用:colorNum=2(图案中允许的颜色为红色和黄色)
私有int colorNum=2;
//一种变量,指示图案中彩色块的数量
private int numToColor=0;
公共静态int级别=0;
//指示哪些块处于活动状态的类:用户或显示;
专用区块控制器b;
//在第一帧更新之前调用Start
私有void Start()
{
levelTxt.text=“级别:”+(级别+1);
//初始化当前游戏中可用的颜色。
List colorsTemp=新列表();
添加颜色(颜色为红色);
添加颜色(颜色为黄色);
colorsTemp.Add(Color.green);
//将颜色转换为数组。该列表仅用于添加颜色,因此名为colorsTemp
colors=colorsTemp.ToArray();
//blockController类控制用户在绘制图案之前必须查看图案的时间
b=gameObject.GetComponent();
偏移量=1f;
//开始生成模式
GenerateEasy();
}
私有void GenerateEasy()
{ 
//设置彩色块数(随机)GetRandomFloat是一个自定义函数,用于确定随机数的跳过。默认值为0.5f
私有浮点rnd=GetRandomFloat(1,4);
if(rnd==1)//这意味着所有的块都将被着色,这是一个简单的模式。因此,我们需要更改数字
{
rnd++;
}
//用于确定将为多少块着色的公式
numToColor=Mathf.CeilToInt((Num*xNum*yNum)/rnd);
//创建空网格
displayRow=新游戏对象[zNum*xNum*yNum];
userRow=新游戏对象[zNum*xNum*yNum];
alltrue=newbool[yNum*xNum*zNum];
//创建块
对于(int i=0;i b))
{
如果((级别+1)%10!=0和级别+1!=0)
{
//使鼠标出现,使用户无法移动播放器或为任何块着色,以便用户可以将注意力集中在messegebox上
CrossHair.ok=true;
Cursor.lockState=CursorLockMode.None;
Cursor.lockState=CursorLockMode.constrated;
Cursor.visible=true;
//显示消息bix
box=新的UIBox(“bID”,BUI.UIType.Message);
box.header=“您已通过该级别!”;
box.body=“您已经通过了当前级别。您是否具备应对下一个难题的能力?”;
添加(新的UIButton(“是的,下一级!”,FuncButton));
BUI.Instance.AddToQueue(框);
//重置下一个等级的所有内容。同时提高等级。
b、 重置();
级别++;
levelTxt.text=“级别:”+(级别+1);
销毁数组(userRow);
销毁阵列(显示行);
//生成硬开关和生成易开关。
如果(!isHardGenerate)
{
yNum++;
isHardGenerate=true;
GenerateHard();
}
其他的
{
isHardGenerate=false;
xNum++;
GenerateEasy();
}
}
//每10级将向表中添加一种颜色。
其他的
{
Debug.Log(“通过级别10”);
CrossHair.ok=true;
Cursor.lockState=CursorLockMode.None;
Cursor.lockState=CursorLockMode.constrated;
Cursor.visible=true;
box=新的UIBox(“bID”,BUI.UIType.Message);
box.header=“您已通过该级别!”;
box.body=“您已经通过了当前级别。您是否具备应对下一个难题的能力?”;
添加(新的UIButton(“是的,下一级!”,FuncButton));
BUI.Instance.AddToQueue(框);
xNum=2;
yNum=2;
colorNum++;
b、 重置();
级别++;
levelTxt.text=“级别:”+(级别+1);
销毁数组(userRow);
销毁阵列(显示行);
isHardGenerate=false;
GenerateEasy();
}
}
//如果用户丢失了,那么。。。
其他的
{
//有关这一点,请参阅if语句的开头
CrossHair.ok=true;