我刚写了两行并得到以下错误
错误
A field initializer cannot reference the non-static field, method, or property
代码
class Sample
{
public string number = "13";
public int a = int.Parse(number);
}
是的,我知道如果我将字符串声明为静态,那么问题就会消失。但我不明白为什么会这样。
答案 0 :(得分:3)
它不会“期待静态”任何 - 只是:此时您不能访问this
,而number
隐含this.number
}。而是将代码移动到构造函数:
public Foo()
{
number = "13";
a = Convert.ToString(number);
}
string number;
int a;