Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
129 / 31 / 3
Регистрация: 03.08.2010
Сообщений: 630

Можно ли добавить индексатор через методы расширения?

09.10.2017, 23:26. Показов 2299. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно ли в c# добавить индексатор через методы расширения?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.10.2017, 23:26
Ответы с готовыми решениями:

Методы расширения, добавить новое свойство
Можно допустим стандартный класс string расширить (добавить новый метод), это делается так: public static class StringHelper { ...

Как добавить расширения к файлу без расширения?
Помогите не знаю куда писать. Делаю конвертер изображения на Visual Studio vb . Суть в чем - есть файл без расширения с изображением (когда...

Можно ли удалять после установки расширения папку установщика расширения
Надо было установить расширение, сделал папку на хостинге(tmp) и скопировал файлзилой туда распакованные файлы расширения(20 мин....

10
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18298 / 14222 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
09.10.2017, 23:54
Сидорович, нет
0
129 / 31 / 3
Регистрация: 03.08.2010
Сообщений: 630
09.10.2017, 23:55  [ТС]
А "обходных" путей нет?
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
09.10.2017, 23:56
путей куда? в чем состоит задача?
0
129 / 31 / 3
Регистрация: 03.08.2010
Сообщений: 630
09.10.2017, 23:59  [ТС]
Заменить методы расширения наподобие GetByString чем-то более коротким и изящным, например индексатором.
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
10.10.2017, 00:14
я такого штатного метода не знаю
0
Эксперт .NET
 Аватар для Usaga
14307 / 9388 / 1355
Регистрация: 21.01.2016
Сообщений: 35,407
10.10.2017, 07:17
Сидорович, GetByString и так уже коротко, ясно и изящно.
0
129 / 31 / 3
Регистрация: 03.08.2010
Сообщений: 630
10.10.2017, 09:48  [ТС]
Цитата Сообщение от Diamante Посмотреть сообщение
путей куда? в чем состоит задача?
Получить значение аттрибута элемента или текстовое содержимое дочернего элемента можно только громоздким:
C#
1
2
3
XElement x = //...
x.Attribute(attrName)?.Value;
x.Element(childElementName)?.Value;
Хотелось бы короткого:
x[attrName] или x[childElementName]
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
10.10.2017, 11:46
Лучший ответ Сообщение было отмечено Сидорович как решение

Решение

Цитата Сообщение от Сидорович Посмотреть сообщение
А "обходных" путей нет?
Ну почему же нет? Можно создать адаптер и напихать туда все что душе угодно. Другой вопрос - насколько это целесообразно в данном случае. Есть еще вариант - использовать для этих целей другой язык программирования, такой, в котором поддерживается нужный функционал. В частности в F# это легко реализуется. Но тут опять-таки - стоит ли игра свеч?
Цитата Сообщение от Сидорович Посмотреть сообщение
Хотелось бы короткого
Можно импортировать пространство System.Xml.XPath, тогда будут доступны методы XPathSelectElement и XPathSelectElements. Ну и опять-таки для работы с XML в других языках есть дополнительные возможности, такие как XML-литералы в VB.Net или, если говорить об F#, то там вообще можно все под свои нужды приспособить, пример по ссылке
Minimal XML DSL | F# Snippets.
1
129 / 31 / 3
Регистрация: 03.08.2010
Сообщений: 630
10.10.2017, 11:48  [ТС]
diadiavova,
Цитата Сообщение от diadiavova Посмотреть сообщение
Можно создать адаптер и напихать туда все что душе угодно.
Что за адаптер? Можно поподробнее?
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
10.10.2017, 11:50
Цитата Сообщение от Сидорович Посмотреть сообщение
Что за адаптер? Можно поподробнее?
Адаптер - это шаблон проектирования. Легко гуглится, можно начать отсюда
Адаптер (шаблон проектирования) — Википедия
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.10.2017, 11:50
Помогаю со студенческими работами здесь

Как добавить индексатор в linkedList?
Было задание написать свой связный список и вывести его. сделал но вывод сделал через foreach с помощью итератора Но сказали что нужно...

Сделать через классы и чтобы были методы: удалить, изменить, добавить
Эту прогу нужно сделать через классы и чтобы были методы: удалить, изменить, добавить...и желательно расписать построчно (что каждая...

Можно ли выбирать методы класса через переменную?
В общем я пользуюсь библиотеками sfml, создал функцию для обработки нажатий и она выглядит вот так: void upravlenie(String...

В класс Money добавить индексатор, позволяющий по индексу 0 обращаться к полю first
В класс Money добавить: a. Индексатор, позволяющий по индексу 0 обращаться к полю first, по индексу 1 – к полю second, при других...

Методы расширения
Доброго времени суток. Пожалуйста,посоветуйте справочник или что-то наподобие учебника по методам расширения в Паскале. Встроенной справки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru