字段初始值设定项不能引用非静态字段方法或属性


public readonly int items = 3;
private System.Windows.Forms.TextBox[,] statsBonus = new System.Windows.Forms.TextBox[6, items];

它在"items"变量上给了我这个错误。我该如何使我可以使用一个名为"items"的变量,而不必在使用数字 3 的每个字段中写入 3?

如果我想在代码上编辑它,我不想手动将数字 3 更改为其他内容。我想使用一个变量,所以我所要做的就是更改变量以更改所有内容。

与其使用readonly不如使用const

编辑:

有关两者之间更多讨论的区别,请查看此

SO答案

你必须使用

const int items = 3;

一个选项

将其移动到构造函数:

public ClassName()
{
  statsBonus = new System.Windows.Forms.TextBox[6, items];
}

更好的选择

items成为const