为什么此代码中需要静态修饰符?

时间:2016-04-18 19:55:55

标签: c# object static

我已经阅读了static。我知道它是一个只能由非对象访问的前缀。但我无法理解为什么Easter必须是static

class JsonFile
{
    public List<Holiday> StandardHolidays = new List<Holiday>();
    public List<ChangingHoliday> ChangingHoliday = new List<ChangingHoliday>();

    public static Easter Easter = new Easter();
    public static DaysToOffset GoodFriday = new DaysToOffset("Good Friday", Easter, -2);
}

我还没有得到static的概念。有人可以解释一下吗?

1 个答案:

答案 0 :(得分:3)

在初始化期间,您不能拥有Easter的实例,但在使用

时需要一个实例
public DaysToOffset GoodFriday = new DaysToOffset("Good Friday", Easter, -2);

所以Easter必须是static才能使其GoodFriday中存在有效。