C# 字段初始值设定项不能引用非静态字段
我不知道为什么这不起作用C# 字段初始值设定项不能引用非静态字段,c#,C#,我不知道为什么这不起作用 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private Button[,] button = new Button[3, 3]{ {button1, button2, button3 }, {button4,
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private Button[,] button = new Button[3, 3]{ {button1, button2, button3 },
{button4, button5, button6 },
{button7, button8, button9 } };
private void button_Click(object sender, EventArgs e)
{
}
}
我得到了错误
字段初始值设定项不能引用非静态字段
在所有9个按钮上,字段初始值设定项(错误明确指出)不能引用非静态字段或值<代码>按钮1到按钮9
不是静态的。要获得相同的结果,请在窗体的构造函数中移动数组初始化:
private Button[,] button;
public Form1()
{
InitializeComponent();
button = new Button[3, 3]{ {button1, button2, button3 },
{button4, button5, button6 },
{button7, button8, button9 } };
}
这些按钮必须从静态字段中引用。这就是编译器告诉你的。如果您不喜欢此操作,请从构造函数中初始化
按钮
。有关原因的解释,请参阅此部分: