我有一个日志文件的静态 StreamWriter 字段,我需要通过一个 lambda 函数访问该日志文件,该函数在长时间运行的进程上侦听 StandardOutput。
我正在使用字段的 null/not-null 状态来确定进程是否在另一个线程上忙;这些动作需要按顺序执行。
我的问题是,当我在 using 块中将变量设置为null时会发生什么?它还会得到妥善处理吗?
public class Service
{
private static StreamWriter logger;
void Run(string logFile)
{
using (logger = new StreamWriter(logFile))
{
/* ... */
logger = null;
}
}
}