在.net 2.0/3.0程序中使用扩展方法
2008-08-23 13:57
567 查看
.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版本的程序集, 也可以享受扩展方法带来的便利!
如果使用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版本的程序集, 也可以享受扩展方法带来的便利!
相关文章推荐
- 在.net 2.0/3.0程序中使用扩展方法
- vs2008中让基于.net 2.0的应用程序也可以使用扩展方法
- .Net 2.0中使用扩展方法
- 安装.net 4.0 后,.net 2.0 程序无法使用解决方法
- 在 .NET 2.0上使用“扩展方法”
- .net 3.0+关于实现IEnumerable的类型的扩展方法的使用一
- 合理使用“.NET 扩展方法”来简化代码(例子:空值判断,利用扩展方法实现LINQ操作符ForEach)
- .net 3.0扩展方法(转)
- .Net Core在程序的任意位置使用和注入服务的方法
- C# 2.0:使用匿名方法、迭代程序和局部类来创建优雅的代码
- 使用Windbg和SoS扩展调试分析.NET程序
- 在vs2008中使用AJAX开发.net 2.0下的Web程序的方法
- C# 2.0:使用匿名方法、迭代程序和局部类来创建优雅的代码
- 使用Oracle ODP.NET 11g的.NET程序发布方法
- Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转Base64(C#、.Net) jquery遍历table为每一个单元格取值及赋值 。net加密解密相关方法 .net关于坐标之间一些简单操作
- .net framework 2.0使用扩展方法
- C# 3.0新特性初步研究 Part2:使用扩展方法_C#教程
- VS 2008 + .NET 3.5 - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- 使用Oracle ODP.NET 11g的.NET程序发布方法