静态变量值

本文关键字:变量值 静态 | 更新日期: 2023-09-27 18:33:09

>我在我的类中声明了一个静态变量:

private static DirectoryInfo _extractionFolder;

在某些函数中,我将其更改为:

_extractionFolder = new DirectoryInfo(@"C:'TEST");

那么在几行下来的相同函数上,我可以再次更改此变量吗?

正在尝试它,它似乎没有改变,或者我度过了艰难的一天。

静态变量值

该代码甚至无法编译 - 您正在尝试将字符串值分配给DirectoryInfo变量。

我怀疑发生的事情是你实际上已经声明了一个隐藏字符串变量的局部变量,如下所示:

private static DirectoryInfo _extractionFolder;
public void Foo()
{
    string _extractionFolder;
    ...
    _extractionFolder = @"C:'TEST"; // Modifies local variable, not static one
}

不过,可变静态变量很少是一个好主意,由于线程问题,需要仔细处理对它们的访问。

>还是我度过了艰难的一天?

我认为艰难的一天:)您应该能够像任何其他变量一样设置其值。

就静态变量而言,您应该能够更改它。 设置变量后,您设置它的内容或使用变量的方式一定有问题。

你的意思是

_extractionFolder = new DirectoryInfo(@"c:'TEST");

然后,您可以访问其属性,稍后在执行另一个"新建"后,您可以获取不同目录的信息。这就是你想做的吗?