为什么类级别的方法调用总是期望静态参数?

时间:2014-05-28 15:55:18

标签: c#

我刚写了两行并得到以下错误

错误

A field initializer cannot reference the non-static field, method, or property

代码

class Sample
{
   public string number = "13";
   public int a = int.Parse(number);
}

是的,我知道如果我将字符串声明为静态,那么问题就会消失。但我不明白为什么会这样。

1 个答案:

答案 0 :(得分:3)

它不会“期待静态”任何 - 只是:此时您不能访问this,而number隐含this.number }。而是将代码移动到构造函数:

public Foo()
{
    number = "13";
    a = Convert.ToString(number);
}
string number;
int a;