静态类的扩展方法?

12 c# extension-methods static-classes

可能重复:
我可以向现有静态类添加扩展方法吗?

我知道我可以通过以下方式扩展课程.我有一个静态类,我想扩展.我怎么能这样做?我想写ClassName.MyFunc()

static public class SomeName
{
    static public int HelperFunction(this SomeClass v)
Run Code Online (Sandbox Code Playgroud)

thi*_*eek 15

您不能在静态类上使用扩展方法,因为扩展方法仅适用于可实例化的类型,并且无法实例化静态类.

检查此代码..

    public static bool IsEmail(this string email)
    {
        if (email != null)
        {
            return Regex.IsMatch(email, "EmailPattern");
        }

        return false;
    }
Run Code Online (Sandbox Code Playgroud)

IsEmail()的第一个参数是扩展类型实例,而不仅仅是类型本身.您永远不能拥有静态类型的实例.


Jud*_*ngo 10

您无法在C#中扩展静态类.扩展方法通过定义在某种类型上作为实例方法出现的静态方法来工作.您无法定义扩展静态类的扩展方法.