] [] [] [] На статических классах нельзя использовать методы расширения, потому что методы расширения применимы только к неосуществимому типы и статические классы не могут быть instantiated.[][
] [
] Проверьте этот код... [
] [ public static bool IsEmail(this string email)
{
if (email != null)
{
return Regex.IsMatch(email, "EmailPattern");
}
return false;
}
]
[]Первый параметр к []IsEmail()[] является экземпляром расширяющегося типа, а не только самим типом. Никогда нельзя иметь экземпляр статического типа.[
].Вы не можете расширять статические классы на C#. Методы расширения работают, определяя статические методы, которые на каком-то типе появляются как методы экземпляра. Нельзя определить метод расширения, который расширяет статический класс.
.] Возможно, вы захотите превратить ваш статический класс в [] однокнопочный []. Тогда будет только один экземпляр класса. И вы можете использовать методы расширения на нем, так как это экземпляр. [
] [] Это при условии, что у вас есть доступ к исходному коду класса. [
]