关于c#:静态类的扩展方法?

Extension methods on a static class?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Can I add extension methods to an existing static class?

我知道我可以做下面的扩展课程。我有一个要扩展的静态类。我该怎么做?我想写信给ClassName.MyFunc()

1
2
3
static public class SomeName
{
    static public int HelperFunction(this SomeClass v)


You can't have extension methods on static classes because extension methods
are only applicable to instantiable
types and static classes cannot be
instantiated.

请检查此代码。

1
2
3
4
5
6
7
8
9
    public static bool IsEmail(this string email)
    {
        if (email != null)
        {
            return Regex.IsMatch(email,"EmailPattern");
        }

        return false;
    }

isemail()的第一个参数是扩展类型实例,而不仅仅是类型本身。不能有静态类型的实例。


不能在C中扩展静态类。扩展方法通过定义在某些类型上显示为实例方法的静态方法来工作。不能定义扩展静态类的扩展方法。


您可能希望将静态类转换为单例类。那么类只有一个实例。您可以对它使用扩展方法,因为它是一个实例。

这样,您就可以访问类的源代码。