所以我正在制作一个小型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();
}
我有一个带有公共变量的Bomb类的单独公共类文件。但是,我必须在Form2字段中实例化bombA并在方法genBomb()中重新定义其变量值。
我想在该方法中创建bombA,但这样做会导致其他引用bombA.Variable的方法无法运行,因为它们不再存在于该上下文中。
我该如何做到这一点?
答案 0 :(得分:0)
范围是在变量或成员声明时定义的,不一定是在创建对象时。您可以在不给它值的情况下声明该字段:
Bomb bombA;
并在genBomb
中初始化:
public void genBomb()
{
bombA = new Bomb("A", 1, "A", 1, "A", "B", "C", "D", "Sentence");
bombA.Pin = 6259;
....
请注意,您需要在null
中检查uiUpdate
值,因为在genBomb
之前无法阻止它被调用。