译文
文章平均质量分 93
simonezhlx
专注.net技术,对java和嵌入式开发都有兴趣,可惜为了生计还是要用C#来给PC写代码.热衷设计模式,最近在学习框架设计方面的东西.当然如果你有工作流方面的问题想讨论,也别忘了算上本人.
展开
-
Angular Schematics: Simple Schematic
So, you looked at thengMomentum projectand decided, “Well if they can make a custom Angular Schematic, so can I”. That is great! I started developing code generators a while back because I am a lazy developer that likes to have pretty code shot out of a ..转载 2021-07-09 13:37:58 · 536 阅读 · 0 评论 -
类型推断
By Bill WagnerMay 2012序言本文与下面这行无法编译的代码有关:var lambda = x => x.M();编译器给出的错误是:CS0815: “Cannot assign lambda expression to implicitly typed local variable(无法将Lambda表达式赋给一个隐性类型局部变量).”本文中,我会解释控制翻译 2012-07-04 17:05:03 · 3014 阅读 · 0 评论 -
可选参数
Justification for Names and Optional Parameters可选参数By Bill WagnerMarch 2012 不少开发人员问我为什么C#早期版本中不支持可选参数。可选参数在其它语言中展示了其很有益的特性。特别是当你写了一个有大量参数的方法,而该方法中的一部分参数有其合理的默认值的情况下.基于Office API的COM组件就是一个明显的翻译 2012-06-04 23:16:15 · 2701 阅读 · 0 评论 -
LINQ与生产率
By Bill WagnerJanuary 2012 自从c#3.0引入LINQ后,它已经改变了不少C#开发者的编码习惯。然而,似乎仍有数量不少的c#开发者社区仍未完全采用它。我和那些还没有把LINQ作为他们日常开发工具的程序员聊过,原因有二,其一是他们没有充足的时间学习LINQ,其二是一部分人的老板还没有把LINQ作为它们工作中可应用的技术之一。他们应该感到羞愧,因为LINQ的函翻译 2012-03-31 23:04:23 · 949 阅读 · 0 评论 -
深入扩展方法
Thomas LebrunMicrosoft C# MVP本文介绍了c#3.0中的一个新特性—扩展方法。扩展方法使程序员无需通过继承或重编译原程序集等途径来向原有类型中增加新方法。甚至一些你可能都没有源程序的程序集中的类型也可以增加。比如“System.String”。初看扩展方法因为扩展方法可能难于理解。我们先来看看一个传统的示例。看看下列简单的程序:虽然上述程序翻译 2012-03-06 22:46:46 · 981 阅读 · 0 评论 -
.Net Framework下的多线程安全集合
每个正式发布的.net framework版本在增加特性时,都会着眼于那些对于当今程序员有挑战的问题上。.net framework 4.0增加了一个新的System.Collections.Concurrent命名空间,使得多线程开发中不同线程间共享数据的问题解决起来更加轻松。特别是当你打算实现一个 producer/consumer 模式时,新提供的相关集合将会帮助你完成不少工作。.net 4翻译 2012-03-03 15:37:26 · 6146 阅读 · 0 评论 -
如何在.net应用中发现和避免内存和资源泄露
如何在.net应用中发现和避免内存和资源泄露By Fabrice Marguerie尽管很多人相信在.net应用中谈及内存及资源泄露是件很轻松的事情。但GC(垃圾回收器)并不是魔法师,并不能把你完全从小心翼翼处理内存与资源损耗中解放出来。本文中我将解释缘何内存泄露依然存在以及如何避免其出现。别担心,本文不涉及GC内部工作机制及其它.net的资源及内存管理等高级特性中。理解泄露本翻译 2012-02-27 23:35:44 · 8842 阅读 · 0 评论 -
Whats my Coverage? (C0 C1 C2 C3 + Path)
100%的覆盖率听起来不错,但是究竟是c0,c1,c2,c3还是路径覆盖率呢?如果你无法区分他们,下面就是答案:C0=覆盖到每条指令.C1=覆盖到每一个分支.如: if(i==1) {...}即使没有针对i != 1的实际处理,在测试时依然需要测试i != 1的情况.C2+C3 :则是每个if判断中的条件的真/假都要覆盖.(本人并不关心这个翻译 2012-02-08 10:53:07 · 6324 阅读 · 0 评论 -
.net Reflector 变成付费产品了
差不多十年前Lutz Roeder开发的大名鼎鼎的.net Reflector相信大家都知道,.net Reflector之前一直是免费的,如今却要变成一款收费的“产品”!这要“感谢”Red Gate 软件公司.很不幸,该事已经被证实了,早在听说Lutz决定把Reflector授翻译 2011-07-12 17:41:56 · 1527 阅读 · 0 评论