是否可以使用2.0 Framework创建扩展方法?

Dev*_*mon 11 c# extension-methods

我想知道是否有办法使用Visual Studio 2005和2.0框架创建扩展方法?

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

    }
}
Run Code Online (Sandbox Code Playgroud)

如果没有办法做到这一点,相当于什么?只是在某种库类中创建静态方法?

Pop*_*lin 18

可以使用.NET Framework 2.0,如果使用C#3.0编译器和Visual Studio 2008或更高版本创建扩展方法.

问题是您必须将此代码添加到项目中:

 namespace System.Runtime.CompilerServices
{
  public class ExtensionAttribute : Attribute { }
}
Run Code Online (Sandbox Code Playgroud)

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