在Visual Studio 2008下
我可以创建扩展方法在.NET Framework 2.0项目下工作吗?在.NET Framework 2.0中使用扩展方法
回答
有一个ugly hack获取在.Net 2.0中工作的扩展方法;但最好将你的框架升级到3.5。
总之(来自链接#2):扩展方法只是标有[Extension]属性的常规静态方法。这个属性实际上是由编译器在幕后添加的。在.NET 3.5中,它存在于System.Core中,因此只需定义像下面这样的属性:
namespace System.Runtime.CompilerServices
{
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = false)]
public class ExtensionAttribute : Attribute
{
}
}
链接已损坏我认为 – deostroll 2013-06-01 02:28:14
@deostroll:已修复。 – 2013-06-02 20:30:56
绝对。有一些hacky方法,但我正在使用的是从Mono project中获取System.Core,并将其所有代码添加到我自己的解决方案中名为System.Core的新.NET 2.0类库中,然后重新编译它。有几件事需要解决,比如将他们的MonoTODO属性更改为TODO注释,并修复AssemblyInfo.cs,但效果很好。我现在同时使用LINQ,并在VS 2008
编译一个2.0的项目假设你得到了2.4版本的单源的扩展方法,你应该找到下代码:
<extracted directory>/mono-2.4/mcs/class/System.Core
如果您'重新卡在VS 2005中,你可以下载SharpDevelop,构建你的System.Core DLL,目标为2.0,添加一个对已编译程序集的引用,它可以工作,但我不知道VS 2005是否会有问题与扩展语法或不。我想它会给你一些口水。
- 1. 在.NET 2.0中使用扩展方法?
- 2. 扩展方法在.NET 2.0中VS2008
- 3. .Net - 使用方法扩展?
- 4. 在.net 2.0中使用Ajax扩展可以使用页面方法吗?
- 5. .NET 2.0中的Ajax扩展?
- 6. 缺少扩展方法AddJwtBearerAuthentication()用于.NET Core 2.0中的IServiceCollection
- 7. 我可以在.NET 2.0或3.0中使用扩展方法和LINQ吗?
- 8. 在.NET Framework 2.0中使用Linq?
- 9. 我可以在Entity Framework SubQuery中使用扩展方法吗?
- 10. 转换项目.net 2.0到3.5,扩展方法在哪里?
- 11. 在.NET Compact Framework中使用HttpUtility.HtmlDecode方法?
- 12. 使用扩展方法的扩展类
- 13. 扩展用于WCF的.NET 2.0类库
- 14. 在扩展方法中使用.net核心依赖关系
- 15. 十进制扩展方法错误.net核心2.0更新
- 16. .NET Compact Framework在ROM中使用2.0或在RAM中使用3.5?
- 17. .Net 4中的IsNullOrWhiteSpace扩展方法?
- 18. 在.Net框架2.0中使用.Net framework 3.5功能
- 19. 在WebJob中使用.NET Core 2.0库定位.NET Framework 4.7
- 20. 扩展方法的使用
- 21. 使用扩展方法
- 22. C# - 使用扩展方法
- 23. 什么是.Net Framework 4扩展?
- 24. .NET Framework 3.0(WPF)的Visual Studio 2005扩展
- 25. 是否可以使用2.0框架创建扩展方法?
- 26. 用于.NET Framework 2.0的MEF(托管扩展性框架)之类的东西
- 27. 如何让NHibernate使用.NET Framework 2.0?
- 28. 在winRT中使用SQLite-Net扩展
- 29. 在扩展方法
- 30. 使用System.CodeDom生成扩展方法
详情请参阅[我的博客](http://colins-corner.blogspot.com/2009/01/extension-methods-in-net-20.html)条目。 – 2009-04-23 19:26:55