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

发布于 2024-08-22 01:42:30 字数 245 浏览 5 评论 0原文

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

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

    }
}

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

I was wondering if there is a way to create extension methods using Visual Studio 2005 and the 2.0 framework?

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

    }
}

If there is no way to do this, what would the equivalent be? Just create static methods in some sort of library class?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

恬淡成诗 2024-08-29 01:42:30

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

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

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

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

You can create extension methods using .Net framework 2.0, if you use the C# 3.0 compiler and Visual Studio 2008 or greater.

The catch is that you have to add this code to your project:

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

Basically you need to re declare the ExtensionAttribute in Core.dll (.Net 3.5 +), in your project.

西瑶 2024-08-29 01:42:30

不,这在 .Net 2.0 中是不可能的(不使用 C# 3.0 编译器)。然而,您可以创建执行完全相同操作的静态方法:

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

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

实际上,扩展方法只是编写上述内容的简写方式。

No, this isn't possible in .Net 2.0 (without using the C# 3.0 compiler). You can just create static methods that do exactly the same thing however:

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

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

In reality extension methods are just a shorthand way of writing the above.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文