什么构成Visual Studio 2010中的代码块?

时间:2010-10-25 22:31:27

标签: visual-studio-2010 block

根据MSDN:

  

代码块是具有单个入口点,单个出口点和一组全部按顺序运行的指令的代码路径。代码块在到达决策点时结束,例如新的条件语句块,函数调用,异常抛出,enter,leave,try,catch或finally构造。

考虑到这一点,我仍然不知道为什么,根据VS2010的代码覆盖率分析,这种方法有三个块:

public Type Foo()
{
     return typeof(string);
}

这个方法有两个块:

public void FooTwo()
{
     return;
}

代码行更直接。它们是包含大括号的代码行数。但什么是代码块?

卡尔文

1 个答案:

答案 0 :(得分:0)

代码块表示通用中间语言/ Microsoft中间语言级别的连续路径。遗憾的是,上面的MSDN文章没有提到这一点。

微软大师们在这里给出了很好的解释:

http://www.testingmentor.com/imtesty/2009/11/18/basic-blocks-arent-so-basic/

http://blogs.msdn.com/b/scarroll/archive/2005/01/14/353427.aspx?wa=wsignin1.0

简而言之,精心计算CIL代码块是没有意义的。它们与我们编写的代码位于不同的平面上,它们甚至可以根据您的编译是Debug还是Release来改变。