Как Вы создаете расширение в C#?

Java пытается быть чрезвычайно общим, и гибким всего он делает. В результате что-то, что относительно просто в языке сценариев (Ваш код был бы заменен" open(file).read()" в Python) намного более сложно. Кажется, нет никакого более короткого способа сделать его, кроме пользования внешней библиотекой (как Willi aus Рор упомянутый). Ваши опции:

  • Пользуются внешней библиотекой.
  • Копия этот код во все Ваши проекты.
  • Создают Вашу собственную мини-библиотеку, которая содержит функции, которые Вы часто используете.

Ваш лучший выбор является, вероятно, 2-м, поскольку это имеет наименьшее количество зависимостей.

5
задан Anders 24 July 2009 в 15:28
поделиться

3 ответа

Ключевое слово this в C #, которое вы правильно используете, является заменой атрибута [Extension ()]. Удалите их, и все будет в порядке.

Чтобы уточнить, под «заменой» я действительно имею в виду «синтаксический сахар» - когда компилятор видит модификатор «this», он генерирует тот же атрибут ExtensionAttribute, который вы должны добавить вручную. VB.

15
ответ дан 18 December 2019 в 05:29
поделиться

Просто удалите атрибут расширения полностью - C # требует только квалификатор this в первом параметре для создания метода расширения.

10
ответ дан 18 December 2019 в 05:29
поделиться

Вы захотите изменить пространство имен на System вместе с удалением атрибута Extension, как говорили другие.

-1
ответ дан 18 December 2019 в 05:29
поделиться
Другие вопросы по тегам:

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