簡體   English   中英

是否可以使用2.0 Framework創建擴展方法?

[英]Is it possible to create Extension Methods with 2.0 Framework?

我想知道是否存在使用Visual Studio 2005和2.0框架創建擴展方法的方法?

public static class StringExtensions
{
    public static void SomeExtension(this String targetString)
    {

    }
}

如果沒有辦法做到,那將是什么呢? 只是在某種庫類中創建靜態方法?

可以使用.NET Framework 2.0創建擴展方法,如果您使用C#3.0編譯器和Visual Studio 2008或更高。

要注意的是,您必須將此代碼添加到您的項目中:

 namespace System.Runtime.CompilerServices
{
  public class ExtensionAttribute : Attribute { }
}

基本上,您需要在項目中的Core.dll(.Net 3.5 +)中重新聲明ExtensionAttribute。

不,這在.Net 2.0中是不可能的(不使用C#3.0編譯器)。 您可以創建靜態方法來執行完全相同的操作:

public static class StringExtensions
{
    public static void SomeExtension(String targetString)
    {
        // Do things
    }
}

// Example use:
StringExtensions.SomeExtension(targetString);

實際上,擴展方法只是編寫以上內容的簡便方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM