|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.09.2016, 12:17 | #1 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
как создавать именованные индексаторы для класса
Дабы не создавать новую тему, кину вопрос сюда: как создавать именованные индексаторы для класса ?
Допустим, у меня в классе присутствует два private массива, и доступ извне класса к каждому массиву необходимо (желательно) обеспечивать через индекс. Что я уже знаю ... У классов может быть индексатор вида Код:
Код:
Вопрос в чём: можно ли, и если да, то как можно создать индексатор для свойства ? Или же просто именованный индексатор, где вместо this указывается имя этого индексатора ? P. S. Где то я уже видел подобную конструкцию.
Подпись ? Не, не слышал ...
|
14.09.2016, 12:21 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Никак.
Только просто возвращать объекты другого класса (коллекции) со своими индексаторами. http://stackoverflow.com/a/431345/964478 http://stackoverflow.com/a/2806990/964478
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 14.09.2016 в 12:24. |
14.09.2016, 12:25 | #3 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Очень интересно ...
Alex11223 Спасибо за детальный ответ со ссылками. В любом случае, методы ещё никто не отменял.
Подпись ? Не, не слышал ...
|
14.09.2016, 12:50 | #4 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
массив итак уже вполне себе индексируемое хранилище.
чего именно хотите достичь? Цитата:
посмотрите на XmlDocument например.(да и компоненты многие) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 14.09.2016 в 12:52. |
|
14.09.2016, 13:10 | #5 | |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Пепел Феникса
Вы читаете текст ? Цитата:
Подпись ? Не, не слышал ...
|
|
14.09.2016, 13:25 | #6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
и что свойства отменили?
по гайдлайнам, в принципе поля не стоит выставлять наружу. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
14.09.2016, 13:31 | #7 | |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Цитата:
Если использовать просто свойство, которое будет возвращать весь массив, а индексирование только после возврата - то это как то не понятно ... Правильно, но куда правильнее было бы вытащить элемент из private массива не возвращая весь массив, а вернуть только запрашиваемый элемент. Это получится сделать только методом.
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 14.09.2016 в 13:36. |
|
14.09.2016, 13:32 | #8 | ||||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
если надо разрешить их менять, то делаем так:
Код:
если же нужен ReadOnly доступ, делаем так: Код:
это будет что типа того Код:
Цитата:
или же Dictionary. Цитата:
Цитата:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 14.09.2016 в 13:40. |
||||
14.09.2016, 15:16 | #9 | |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
Цитата:
{ get; set; } и привет )) |
|
14.09.2016, 15:32 | #10 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
я знаю, даже с инициализаторами вопрос решили.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Wordpress, как создавать отдельные рубрики для страниц? | AlienNation | WordPress и другие CMS | 0 | 09.10.2012 11:42 |
Именованные таблицы | DiemonStar | Microsoft Office Excel | 4 | 02.10.2012 18:02 |
Операции класса, индексаторы Rectangle | 6666 | Общие вопросы .NET | 4 | 08.05.2012 11:31 |
Именованные ячейки | Foxx | Microsoft Office Excel | 1 | 20.02.2012 00:33 |
Как в Delphi создавать и использовать скины для програм | SeRhy | Помощь студентам | 3 | 20.12.2007 20:59 |