我不知道以下代码是否真的相关,但为了充分披露,这里是我试图从即时窗口调用的代码:
abstract class Test
{
public int x;
public Test()
{
x = 5;
}
}
class TestImp : Test
{
public int GetX()
{
return this.x;
}
}
这只是一个测试,看看默认的基本构造函数是否被自动调用,或者我是否必须专门调用它,因为我不记得了。
好的,直奔问题。我在即时窗口中输入了这个来查看结果:
new Mercury_Reports.TestImp().GetX();
而不是评估表达式,它只是启动了我的应用程序。我关闭了应用程序并再次尝试了两次并得到了相同的结果。下一次,我在我的 Program.cs 文件中放置了一个断点。然后,它没有像过去 3 次那样启动应用程序然后到达断点,而是决定实际上只评估我的表达式。
我以前在 Visual Studio IDE 中看到过一些奇怪的事情,但我认为这是最奇怪的事情之一。有人知道那里发生了什么吗?:)