随笔分类 -  Compiler

摘要:MSDN博客中的一篇文章提到了.NET 3.5 SP1会带来的处个修正,见以下代码:var floats = new ArrayList { 2.5f, 3.5f, 4.5f };var ints = from int i in floats select i;注意from后面声明的显式类型(int)。开发者会很自然地认为ints为[2,3,4],但在现在版本.NET 3.5环境下得到的却是[2,... 阅读全文

posted @ 2008-02-16 23:07 Adrian H. 阅读(1305) 评论(0) 推荐(0)

摘要:匿名对象一般只在同一个Scope中定义和使用, 这样才能让VS有Intellisence: 如果是通过函数传递过来的匿名类型对象, 就只能用object来传了..当然也就没了Intellisense: 但... 从Meta-Me上面看到一个Trick..虽然不太雅观...但在关键时刻可以帮你把类型信息拯救回来: 原理很简单: 同一结构的匿名类型在同一程序集中编译器只会产生一个, 但匿名... 阅读全文

posted @ 2007-11-22 16:27 Adrian H. 阅读(8977) 评论(5) 推荐(1)

摘要:扩展方法本质上只是一个编译器级别的语法糖, 但不引用.NET Framework 3.5的程序集却无法发布程序到 2.0/3.0版本的运行环境中, 因为它将使那些方法(扩展方法)带上ExtensionAttribute属性, 而就是 ExtensionAttribute这个类却存在于.NET Framework 3.5的程序集中. 其实只要使用一个小技巧即可以保证带有扩展方法的程序在Target到.NET Framework 2.0/3.0时通过编译... 阅读全文

posted @ 2007-11-17 22:19 Adrian H. 阅读(1070) 评论(0) 推荐(0)

摘要:GLEE 是 Microsoft Research 的 Lev Nachmanson 开发的一个.NET 图形布局和查看的工具, 遵循了 Sugiyama 方案, 可以生成有层次的的布局, 自然地使用图形表示流程的信息, 如程序流程, 状态机, 类图等等.. 阅读全文

posted @ 2007-06-12 19:50 Adrian H. 阅读(1550) 评论(2) 推荐(0)