Förlängningsmetoder på en statisk klass?

Förlängningsmetoder på en statisk klass?

Kontrollera den här koden...

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

        return false;
    }

Första parametern till IsEmail() är den utökade typinstansen och inte bara själva typen. Du kan aldrig ha en instans av statisk typ.


Du kan inte utöka statiska klasser i C#. Tilläggsmetoder fungerar genom att definiera statiska metoder som visas som instansmetoder på någon typ. Du kan inte definiera en tilläggsmetod som utökar en statisk klass.