Почему методы расширения должны быть статическими? [дубликат]

Aug 20 2020

Я не понимаю, почему он должен быть статичным? В чем проблема с возможностью создать объект для метода расширения?

Ответы

1 RobertColumbia Aug 20 2020 at 05:07

Методы расширения - это ярлык, позволяющий создать впечатление, что у класса больше методов, чем есть на самом деле, позволяя вам добавить вызов метода расширения к ссылке на экземпляр расширенного класса. Нестатический метод расширения дополнительно потребует ссылки на экземпляр класса расширения (поскольку нестатический метод может ссылаться на состояние, зависящее от экземпляра), и это не имеет смысла в синтаксисе.

Если вы хотите иметь возможность выполнять метод для экземпляров двух классов, вы можете сделать это, но не так, как вы себе представляете.