|
0 / 0 / 0
Регистрация: 30.04.2013
Сообщений: 10
|
||||||
Переопределение метода ToString у списка03.05.2013, 09:58. Показов 14928. Ответов 17
Метки нет (Все метки)
Добрый день!
Народ помогите плс... у _e есть методы, свойства и т.д. Возможно ли переопределить\добавить свой метод скажем ToString у _e сохраняя все стандартные методы и т.п.?
0
|
||||||
| 03.05.2013, 09:58 | |
|
Ответы с готовыми решениями:
17
Переопределение метода ToString() Переопределение ToString для List Переопределение ToString(). Метод по умолчанию не возвращает полное имя экземпляра класса |
|
708 / 708 / 226
Регистрация: 04.03.2013
Сообщений: 1,384
|
||||||
| 03.05.2013, 10:10 | ||||||
|
Как пример:
0
|
||||||
|
0 / 0 / 0
Регистрация: 30.04.2013
Сообщений: 10
|
||||||
| 03.05.2013, 12:35 [ТС] | ||||||
|
Возможно я не правильно выразился. Нужно переопределитель метод не у класса LE, а у списка List<LE>.
У _e есть такие методы: Add, AddRange, Last, ToString... Вот сюда и необходимо поместить новый/переопредилить старый метод. Пробовал:
0
|
||||||
|
СуперМодулятор
134 / 134 / 48
Регистрация: 03.11.2012
Сообщений: 974
|
|||||||
| 03.05.2013, 12:39 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 30.04.2013
Сообщений: 10
|
|||
| 03.05.2013, 13:57 [ТС] | |||
![]() А возможно переопределить в основном классе, без производного, по аналогии как указал Izobara?
0
|
|||
|
708 / 708 / 226
Регистрация: 04.03.2013
Сообщений: 1,384
|
|||||||||||
| 03.05.2013, 14:20 | |||||||||||
|
Напишите расширение для своего списка:
0
|
|||||||||||
|
|
||||||
| 03.05.2013, 14:34 | ||||||
|
Пишем метод расширения для всех листов:
Kruds предложил более локальный способ для решение вашей задачи. Используйте его решение.
0
|
||||||
|
0 / 0 / 0
Регистрация: 30.04.2013
Сообщений: 10
|
|
| 04.05.2013, 04:55 [ТС] | |
|
Всем большое спасибо за ответы. Пошел читать про расширение.
0
|
|
|
212 / 214 / 44
Регистрация: 20.12.2011
Сообщений: 635
|
||
| 04.05.2013, 05:01 | ||
|
Kruds и Дмитрий3241 предложили более стоящие варианты, если, конечно, Ваша цель не тупо сдать лабу.
0
|
||
|
212 / 214 / 44
Регистрация: 20.12.2011
Сообщений: 635
|
||
| 04.05.2013, 05:06 | ||
|
Kruds и Дмитрий3241 предложили более стоящие варианты, если, конечно, Ваша цель не тупо сдать лабу. Добавлено через 4 минуты сорри за мультипостинг(форум не грузился и ошибками швырялся) + ТС пост отредактировал в момент моего ответа -_-
0
|
||
|
0 / 0 / 0
Регистрация: 30.04.2013
Сообщений: 10
|
|||||||
| 04.05.2013, 06:46 [ТС] | |||||||
|
Как я понял способы Kruds и Дмитрий3241 применимы для создания расширений, но не для переопределении. Т.е. для добавления новых методов - это решает частично мой вопрос.
Остался вопрос переопределения метода, вот так не поучилось:
Добавлено через 5 минут ), почитал про расширения и сделал вывод, что они частично решают мой вопрос. Способ переопределения пока не нашел.
0
|
|||||||
|
|
||||||
| 04.05.2013, 12:16 | ||||||
Создаст +1 перегрузку базового метода ToString();
1
|
||||||
|
0 / 0 / 0
Регистрация: 30.04.2013
Сообщений: 10
|
||||||||||||||||
| 05.05.2013, 04:03 [ТС] | ||||||||||||||||
|
Класс Extensions находится в п.и. NS:
Ошибкаm 4 "System.Collections.Generic.List<NS. LE>" не содержит определение для "ToString". Не удалось найти метод расширения "ToString", принимающий первый аргумент типа "System.Collections.Generic.List<NS. LE>" (пропущена директива using или ссылка на сборку?) И вместо "1234567" выдает название объектов/методов. Почему не могу разобраться. Добавлено через 11 часов 29 минут Были остальные ошибки, все поправил теперь вот выдает: "NS.Extensions.ToString(System.Collectio ns.Generic.List<NS.LE>)" не скрывает наследуемого члена. Ключевое слово new не требуется. И вместо "1234567" все равно выдает название объектов/методов (System.Collections.Generic.List...). Т.е. как я понимаю подгружается базовый метод ToString.
0
|
||||||||||||||||
|
Master of Orion
|
|
| 05.05.2013, 09:09 | |
|
Дмитрий3241, он не может создать перегрузку, потому что сигнатура получается совпадает. Если мы пишем list.ToString() - то это имеется ввиду object.ToString() или ToString(list)? Компьютер же не телепат.
Когда пишете расширение, то просто вместо MethodName(SomeClass) вы с помощью слова this показываете, что можно написать SomeClass.MethodName, но на самом деле вы тупо вызываете статический метод, просто неявно, "как будто" это метод класса, но это не так.
1
|
|
|
0 / 0 / 0
Регистрация: 30.04.2013
Сообщений: 10
|
||
| 06.05.2013, 15:18 [ТС] | ||
|
И второй вопрос, точнее первый . Способ который предложил Jupiter единственный?
0
|
||
|
Master of Orion
|
|
| 06.05.2013, 17:20 | |
|
White Angel, нельзя. Потому что это просто синтаксический сахар вызова внешних статических методов.
Переопределить можно только наследованием и никак иначе. Другой "возможный вариант" - это создать свой класс, наследованный от object, после этого ввести все те же методы, как в вашем, в который хотите добавить, и делегируйте выполнение методов этому полю, а нужный метод можете определить как хотите - получится переопределение.
0
|
|
|
0 / 0 / 0
Регистрация: 30.04.2013
Сообщений: 10
|
|
| 07.05.2013, 03:10 [ТС] | |
|
Большое спасибо всем участвующим в обсуждении. Получил исчерпывающие ответы.
0
|
|
| 07.05.2013, 03:10 | |
|
Помогаю со студенческими работами здесь
18
Наследование метода toString() в производном классе
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|