visual studio 2010 F10 / F11不会破坏类成员初始化代码

时间:2013-04-26 08:00:17

标签: c#

我正在使用Visual Studio 2010中的C#项目。为了理解它的逻辑,我使用F10 / F11来逐步完成它。首先,我在Main()的第一行代码处设置断点。我希望它能够在它执行的每一行代码上中断。但实际上它并没有打破类初始化函数和类成员字段初始化代码。我的意思不仅是Main()函数所在的类,还包括其他所有类。例如,Main()中的第一行代码是

IApplicationContext ctx=ContextRegistry.GetContext();

当我在这行代码上按F11时,它将跳转到GetContext()中的第一行代码。但在此之前,应首先执行ContextRegistry的类成员初始化代码和静态类初始化代码。所以我需要在那些地方手动设置断点,以清楚地看到程序实际执行的操作。这非常不方便,因为我需要在每个这样的类中设置断点。

这是配置问题吗?我希望我表达清楚,抱歉我的英语不好。感谢。

1 个答案:

答案 0 :(得分:0)

您可以查看static constructor的属性。我认为与您的问题相关的内容如下所示

  • 在创建第一个实例或引用任何静态成员之前,会自动调用静态构造函数来初始化类。
  • 无法直接调用静态构造函数。
  • 用户无法控制程序中何时执行静态构造函数。

这可能是您必须在构造函数中手动设置断点的原因。