Java пытается быть чрезвычайно общим, и гибким всего он делает. В результате что-то, что относительно просто в языке сценариев (Ваш код был бы заменен" open(file).read()
" в Python) намного более сложно. Кажется, нет никакого более короткого способа сделать его, кроме пользования внешней библиотекой (как Willi aus Рор упомянутый). Ваши опции:
Ваш лучший выбор является, вероятно, 2-м, поскольку это имеет наименьшее количество зависимостей.
Ключевое слово this в C #, которое вы правильно используете, является заменой атрибута [Extension ()]. Удалите их, и все будет в порядке.
Чтобы уточнить, под «заменой» я действительно имею в виду «синтаксический сахар» - когда компилятор видит модификатор «this», он генерирует тот же атрибут ExtensionAttribute, который вы должны добавить вручную. VB.
Просто удалите атрибут расширения полностью - C # требует только квалификатор this
в первом параметре для создания метода расширения.
Вы захотите изменить пространство имен на System вместе с удалением атрибута Extension, как говорили другие.