0
因此,我正在制作一个小型ESL炸弹游戏,但我想制作更高效的一组代码。截至目前,我有这样的:在更大范围内实例化类的方法
public partial class Form2 : Form
{
string pinNumber;
Bomb bombA = new Bomb("A", 1, "A", 1, "A", "B", "C", "D", "Sentence");
int progress;
int wireChoice;
string ansChoice;
int timer = 600;
public Form2()
{
InitializeComponent();
timer1.Start();
Random _bombType = new Random();
int bombType = 1;
if (bombType == 1)
{
genBomb();
}
else
{
}
}
public void genBomb()
{
bombA.Pin = 6259;
bombA.Serial = "G6P4LN";
bombA.Wire = 2;
bombA.Code = "to rearrange";
bombA.Choice1 = "rearrange";
bombA.Choice2 = "to rearrange";
bombA.Choice3 = "rearranged";
bombA.Choice4 = "rearranging";
bombA.Question = "I purchased so many new outfits that I need ______ my closet.";
uiUpdate();
}
public void uiUpdate()
{
serialLbl.Text = bombA.Serial;
puzzleLbl.Text = bombA.Question;
ans1.Text = bombA.Choice1;
ans2.Text = bombA.Choice2;
ans3.Text = bombA.Choice3;
ans4.Text = bombA.Choice4;
timerLbl.Text = timer.ToString();
}
我有一个与公共变量的炸弹类的独立公共类的文件。但是,我必须在Form2字段中实例化bombA,并在方法genBomb()中重新定义它的变量值。
我想在该方法内创建bombA,但这样做会导致其他引用bombA.Variable的方法无法运行,因为它们不再存在于该上下文中。
我该如何做到这一点?
谢谢!作为初学者,我从未明确知道范围是用声明定义的,并且总是可以在以后定义。我感谢帮助!虽然我不知道如何去添加空检查。如果仅在声明了bombA值后才调用uiUpdate(),将如何调用uiUpdate? – Arcaster
我的意思是,如果你需要在尝试访问它的属性或方法之前加上'if(bombA = null)'来查看'bombA'是否为null,否则你会得到一个空引用异常。 –