访问类的静态变量后,执行流程是什么?

时间:2015-10-22 08:38:32

标签: c# static static-classes

我的结构是

public static class BuildVersion
{
    public static Version v1// a Version variable
    {
        get
        {
            isVersionV1Updated=true;
            return getVersion("v1");//this is a helper method to get versions
        }
    }
    public static Version v2
    {
        get {
            isVersionV1Updated=false;
            return getVersion("v2");
        }
    }
    public static bool isVersionV1Updated = false;
    public static Version getVersion(string versionString)
    {
        Console.WriteLine(versionString+" updated");
        //do something
        return requiredVersion;
    }
}

现在,当我设置BuildVersion.isVersionUpdated = true时会发生什么?

  1. 我的意思是,流量是什么,变量v1和v2会得到 填充?
  2. 如果是,输出将打印“v1 updated”和“v2 更新“显示为输出?
  3. 如果我将“BuildVersion”这个类设为非静态
  4. ,它会有所作为

    P.S。请原谅,如果这个问题太天真了,那么当你做“BuildVersion.someVariable”时,我对控件流向的流程感到好奇。

1 个答案:

答案 0 :(得分:0)

首先,使用非静态类,您可以在输出窗口中获取数据,因为可能在您创建类实例时,之后您已经获取了v1​​& V2。
回答你的问题:
1.不。当你设置isVersionUpdated = true时,v1& v2仍未触及。
2.不是在这个时刻,但如果在你的代码中,当你试图获得v1或v2时,它会 正常班级可以有静态&非静态方法/道具所以,适合自己(如果你以后觉得你可能需要非静态道具和方法)。