许多用户都出现了这个错误,但在我的情况下,Visual Studio 似乎指向一个字符串对象。我的代码如下:
protected delegate void DPrint_To_LogScreen(string Text, bool NewLine);
protected void Print_To_LogScreen(string Text, bool NewLine)
{
if (InvokeRequired)
Invoke(new DPrint_To_LogScreen(Print_To_LogScreen), new object[] { Text, NewLine }); // exception thrown here from the Text string
else
{
LogScreen.AppendText(Convert.ToString(DateTime.Now) + " -> " + Text + (NewLine ? System.Environment.NewLine : ""));
if (Log_Screen_File == null)
{
Log_Screen_File = new StreamWriter(@"Global.log", true);
Log_Screen_File.WriteLine(Convert.ToString(DateTime.Now) + " -> " + Text);
Log_Screen_File.Close();
}
else
{
lock (Log_Screen_File)
Log_Screen_File.WriteLine(Convert.ToString(DateTime.Now) + " -> " + Text);
}
}
}
我通常想从不同的地方和线程调用函数Print_To_LogScreen 。
我希望“if(Log_Screen_File == null)”语句可以完成这项工作(并且在一般情况下它可以工作)但现在异常是由调用命令上的文本对象引发的!
这甚至可能还是Visual Studio意味着输出文件?如果是这样,为什么“if (Log_Screen_File == null)”不起作用?
谢谢你