214 / 214 / 20
Регистрация: 18.05.2010
Сообщений: 860
|
||||||
1 | ||||||
Конструктор на основе данных базового класса11.10.2011, 13:26. Показов 1638. Ответов 9
Метки нет Все метки)
(
Допустим есть класс который наследуется от друго класса и в качестве конструктора можно использовать данные из базовго класса. Как сделать так чтобы не перечислять все поля класса а присвоить все данные базового класса экземпляру базового класса, т.к. поля базового класса могут меняться.
0
|
|
11.10.2011, 13:26 | |
Ответы с готовыми решениями:
9
Класс: Создать на основе базового класса Car три класса-автомобиля: Тойота, Феррари, Бугатти. Конструктор базового класса c# Конструктор базового класса Создать конструктор производного и базового класса с переменными |
![]() 16739 / 12492 / 3283
Регистрация: 17.09.2011
Сообщений: 20,719
|
|
11.10.2011, 14:55 | 2 |
Можно через рефлексию, но это будет идиотизм.
Лучше всего делать именно как у вас: перечислять поля. Это как?
0
|
214 / 214 / 20
Регистрация: 18.05.2010
Сообщений: 860
|
||||||
11.10.2011, 15:27 [ТС] | 3 | |||||
Поля могут меняться, т.к. программный код может поменяться и получится, что если меняется базовый класс, то дочерние классы тоже надо менять. немного неудобно. Написал простенький код, может кому и понадобится))
именно так я и сделал ))) хоть идИотизм, но в моей программе 'присваивать поля часто приходится делать' (о.О)
0
|
![]() 16739 / 12492 / 3283
Регистрация: 17.09.2011
Сообщений: 20,719
|
|
11.10.2011, 15:40 | 4 |
Это нормальное явление на стадии итеративной модели разработки приложения. Меняется архитектура - меняется и код, ее реализующий.
То, что вы делаете с помощью рефлексии, называется жертвование производительностью финального продукта ради избежания одной из стадий разработки. В результате из-за того, что разработчик поленился потратить время на изменение и тестирование класса, конечный пользователь будет наслаждаться тормозами на протяжении жизни приложения. Это если вдруг интересно, почему использовать рефлексию в данном случае - идиотизм ![]() P.S. А потом еще и холиворы в стиле "сишарп тармазной!!11" начинаются ![]()
2
|
214 / 214 / 20
Регистрация: 18.05.2010
Сообщений: 860
|
|
11.10.2011, 16:06 [ТС] | 5 |
согласен, но полей у меня очень много и часто из за того что я что то пропустил возникают ошибки, а так гарантировано и разработка будет быстрее. прислушаюсь к вашему совету и в конце разработки все поля поставлю ручным методом. Но я думаю что тормоза будуд в том случае если в программе будет изобилие создание экземпляров подобного класса)) а у меня он создается в единичном случае и в статическом классе.
А это (холиворы) с чем едят? не понял этого слова.
0
|
Заблокирован
|
|
11.10.2011, 16:15 | 6 |
1
|
0 / 0 / 0
Регистрация: 11.10.2011
Сообщений: 3
|
||||||
12.10.2011, 08:57 | 7 | |||||
Можно пойти вот таким путем
0
|
214 / 214 / 20
Регистрация: 18.05.2010
Сообщений: 860
|
|
12.10.2011, 11:30 [ТС] | 8 |
Лабутин Виктор, Это как? конструктор принимает в качестве параметра эеземпляр самого класса которым он является???))
Добавлено через 4 минуты и еще надо переделать базовый класс?? это тоже самое что перечислять все поля
0
|
0 / 0 / 0
Регистрация: 11.10.2011
Сообщений: 3
|
|
12.10.2011, 11:38 | 9 |
Да перечислять все поля придется, но только 1 раз, а в остальных дочерних классах будешь использовать. А при твоем алгоритме получится, что в каждом дочернем классе придется писать этот конструктор.
0
|
214 / 214 / 20
Регистрация: 18.05.2010
Сообщений: 860
|
|
13.10.2011, 12:55 [ТС] | 10 |
Дело в том что родительский класс создаю не я)) он создается при помощи утилиты Studio, а именно этот класс нечто инное как таблица БД. Использую я его для отображения данных например в гриде( точнее я использую его в WPF) некоторые данные это картинки или не совсем то что в натуральном виде находится у меня в БД. Поэтому если изменится структура БД то я заново генерирую класс, это Linq To SQL Classes. Поэтому нет возможности перечислять в родительском классе.
0
|
13.10.2011, 12:55 | |
Помогаю со студенческими работами здесь
10
Объявление наследуемого класса на основе базового Вызвать конструктор производного класса без конструктора базового класса
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |