有一种提高自己编程能力的好办法,就是看看.net framework的源码是如何写的?我们在追踪bug的时候,也往往需要追踪到.net framework的源码中去。按照如下方法设置vs2010,即可追踪到.net framwork的源代码中去。
可以看出,我将pdb文件放在了d:\msSource\MicrosoftPublicSymbols目录下面,这样在调试的时候,vs会自动去该目录下面找pdb文件。
我们可以看看这个目录下的文件
调试源码后,我们会找到一些平时不怎么写的东西。比如我追踪 IEnumerable<int>的扩展方法Sum,可以看到
如下的代码:
![ContractedBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
public
static
int
Sum(
this
IEnumerable
<
int
>
source) {
if (source == null ) throw Error.ArgumentNull( " source " );
int sum = 0 ;
checked {
foreach ( int v in source) sum += v;
}
return sum;
}
if (source == null ) throw Error.ArgumentNull( " source " );
int sum = 0 ;
checked {
foreach ( int v in source) sum += v;
}
return sum;
}
这样,我们就学会了一个扩展方法的写法,何乐而不为呢?
编程的快乐,往往在乎一念之间。