在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 Micro Framework的擴展方法
- 3. 擴展方法在.NET 2.0中VS2008
- 4. .Net - 使用方法擴展?
- 5. .NET 2.0等效的C#擴展方法
- 6. 在.net 2.0中使用Ajax擴展可以使用頁面方法嗎?
- 7. .NET 2.0中的Ajax擴展?
- 8. 缺少擴展方法AddJwtBearerAuthentication()用於.NET Core 2.0中的IServiceCollection
- 9. 我可以在.NET 2.0或3.0中使用擴展方法和LINQ嗎?
- 10. 在.Net 2.0項目中創建擴展方法,使用C#4.0編譯
- 11. 在.NET Framework 2.0中使用Linq?
- 12. 我可以在Entity Framework SubQuery中使用擴展方法嗎?
- 13. 轉換項目.net 2.0到3.5,擴展方法在哪裏?
- 14. 在.NET Compact Framework中使用HttpUtility.HtmlDecode方法?
- 15. C#.NET的XmlNode在擴展方法
- 16. 在.NET 2.0中使用擴展屬性的Escape Catch-22
- 17. 使用擴展方法
- 18. 擴展用於WCF的.NET 2.0類庫
- 19. 十進制擴展方法錯誤.net核心2.0更新
- 20. 使用擴展方法的擴展類
- 21. 在擴展方法中使用.net核心依賴關係
- 22. 如何在F#.NET列表中使用擴展方法Sum?
- 23. .NET Compact Framework在ROM中使用2.0或在RAM中使用3.5?
- 24. .Net 4中的IsNullOrWhiteSpace擴展方法?
- 25. Swift 2.0協議擴展方法調度
- 26. 在擴展方法中使用IoC
- 27. 在WebJob中使用.NET Core 2.0庫定位.NET Framework 4.7
- 28. 在.Net框架2.0中使用.Net framework 3.5功能
- 29. 什麼是.Net Framework 4擴展?
- 30. .NET Framework 3.0(WPF)的Visual Studio 2005擴展
詳情請參閱[我的博客](http://colins-corner.blogspot.com/2009/01/extension-methods-in-net-20.html)條目。 – 2009-04-23 19:26:55