在.net 2.0/3.0程序中使用扩展方法 .NET Framework 从2.0升级至3.0/3.5中,增加了不少编译器级别的语法糖,如var关键字、自动属性、Lambda表达式、扩展方法等等。 如果使用vs2008发布.net2.0程序时,除了扩展方法语法糖不可以直接使用。如果发布带扩展方法的程序则会编译出错。究 其原因,是因为编译器将那些方法(扩展方法)带上ExtensionAttribute属性, 而ExtensionAttribute这个类却存在于.NET Framework 3.5的程 序集中。 使用一个小技巧即可以使得带扩展方法的程序在.NET Framework 2.0/3.0时通过编译:自己定义这个ExtensionAttribute属性 namespace System.Runtime.CompilerServices { public class ExtensionAttribute : Attribute { } } 这样, 即使不引用3.5版本的程序集, 也可以享受扩展方法带来的便利! |