Дополнительные методы на статическом классе? [дубликат]

12
задан Community 23 May 2017 в 11:51
поделиться

3 ответа

[
] [

] [] На статических классах нельзя использовать методы расширения, потому что методы расширения применимы только к неосуществимому типы и статические классы не могут быть instantiated.[][

] [
] [

] Проверьте этот код... [

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

        return false;
    }
] [

]Первый параметр к []IsEmail()[] является экземпляром расширяющегося типа, а не только самим типом. Никогда нельзя иметь экземпляр статического типа.[

].
15
ответ дан 2 December 2019 в 06:08
поделиться

Вы не можете расширять статические классы на C#. Методы расширения работают, определяя статические методы, которые на каком-то типе появляются как методы экземпляра. Нельзя определить метод расширения, который расширяет статический класс.

.
10
ответ дан 2 December 2019 в 06:08
поделиться
[

] Возможно, вы захотите превратить ваш статический класс в [] однокнопочный []. Тогда будет только один экземпляр класса. И вы можете использовать методы расширения на нем, так как это экземпляр. [

] [

] Это при условии, что у вас есть доступ к исходному коду класса. [

]
0
ответ дан 2 December 2019 в 06:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: