访问 class 的静态变量后,执行流程是怎样的?
What is the flow of execution once you access a static variable of a class?
我的结构符合
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 时会发生什么?
- 我的意思是,流程是什么,变量 v1 和 v2 会得到吗
人口稠密?
- 如果是,输出会打印"v1 updated"和“v2
已更新”显示为输出?
- 如果我将 class 'BuildVersion' 设置为非静态
会有什么不同吗
P.S。请原谅这个问题太天真了,我很好奇当你做 "BuildVersion.someVariable"
时控制流向哪里
首先,使用非静态 class,您会在输出 window 中获取数据,因为可能是在您创建 class 实例时,之后您获取了 v1 & v2.
回答你的问题:
1. No.When 您设置了 isVersionUpdated=true,v1 和 v2 仍然保持不变。
2. 目前不会,但是如果在您的代码中,当您尝试获取 v1 或 v2 时,它会。
3. 普通classes可以有静态和非静态methods/props所以,适合自己(如果你以后觉得你可能需要非静态属性和方法)。
我的结构符合
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 时会发生什么?
- 我的意思是,流程是什么,变量 v1 和 v2 会得到吗 人口稠密?
- 如果是,输出会打印"v1 updated"和“v2 已更新”显示为输出?
- 如果我将 class 'BuildVersion' 设置为非静态 会有什么不同吗
P.S。请原谅这个问题太天真了,我很好奇当你做 "BuildVersion.someVariable"
时控制流向哪里首先,使用非静态 class,您会在输出 window 中获取数据,因为可能是在您创建 class 实例时,之后您获取了 v1 & v2.
回答你的问题:
1. No.When 您设置了 isVersionUpdated=true,v1 和 v2 仍然保持不变。
2. 目前不会,但是如果在您的代码中,当您尝试获取 v1 或 v2 时,它会。
3. 普通classes可以有静态和非静态methods/props所以,适合自己(如果你以后觉得你可能需要非静态属性和方法)。