vs2008中让基于.net 2.0的应用程序也可以使用扩展方法
来源:互联网 发布:os x和mac os 编辑:程序博客网 时间:2024/05/17 03:46
使用过vs2008进行.net 3.0/3.5做过开发的都知道有一个很方面不修改现有代码的情况下扩展现有类库的编码方式-扩展方法;但使用他的前提是类库必须基于.net 3.0/3.5 framework。
namespace Tests
{
public static class ExtensionClass
{
public static void ToConsole(this string value)
{
System.Console.WriteLine(value);
}
}
class Program
{
static void Main()
{
string test = "Test String!";
test.ToConsole();
}
}
}
上面这段代码在vs2008中基于.net 2.0编译会报下面的编译错误
error CS1110: Cannot define a new extension method because the compiler required type 'System.Runtime.CompilerServices.ExtensionAttribute' cannot be found. Are you missing a reference to System.Core.dll?
编译告诉我们说找不到System.Runtime.CompilerServices.ExtensionAttribute,这个类在System.Core.dll中申明
无意之中,在网上找到一篇帖子:Using Extension Methods in .net 2.0
只要添加以下代码就可以使编译通过并运行,但是必须使用.net 3.5的编译器。
namespace System.Runtime.CompilerServices
{
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Assembly)]
public sealed class ExtensionAttribute : Attribute { }
}
由于没有合适的测试环境,至于是不是可以在只安装了.net 2.0的机器上运行就没有做测试了,如果哪位dx做了测试,欢迎告知!
- vs2008中让基于.net 2.0的应用程序也可以使用扩展方法
- 基于对话框的应用程序也可以有命令行输出窗口
- 使用本地方法扩展你的应用程序
- vs2008中asp.net的web应用程序改web网站
- 让ImageView可以使用gif的方法
- 让ImageView可以使用gif的方法
- 让linux也可以使用pbcopy
- 在.net 2.0/3.0程序中使用扩展方法
- 如何使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证
- 如何使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证
- 如何使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证
- windows下使用VS2010编译jpeglib(实际操作vs2008也可以)
- 让别人也可以访问你电脑上的ASP.NET MVC创建的网站
- 让基于对话框应用程序也有启动画面
- 新手也可以直接上手使用的git方法
- 让asp.net的网页也可以正常被firefox 浏览
- WinCE平台搭建--基于数据库的.NET应用程序开发(wince6.0+vs2008+sqlce)
- WinCE平台搭建--基于数据库的.NET应用程序开发(wince6.0+vs2008+sqlce)
- C++ 异常处理 入门
- 财政部补贴中石油中石化44亿
- 用汽车售票系统谈数据库结构设计
- 转帖
- IBM发布32纳米芯片技术 明年下半年量产
- vs2008中让基于.net 2.0的应用程序也可以使用扩展方法
- Directshow的音频捕获和回放测试1
- Flex学习第一步
- py2exe簡介
- 暴雪帝国辉煌能否延续
- 博客地址
- Directshow的音频捕获和回放测试(2)
- 半路杀出程咬金-你的程序是否能做到?Struts 2的拦截器-你手中的程咬金(9)
- 联想将推出全新系列笔记本