4 / 0 / 0
Регистрация: 12.01.2015
Сообщений: 51
|
|||||||||||
1 | |||||||||||
Реализация шаблонного метода интерфейса12.01.2015, 08:50. Показов 3037. Ответов 18
Метки нет (Все метки)
Суть в том, что есть интерфейс
ругается что не может преобразовать SomeClass1List к List<SomeClass1>. Предугадывая вопрос зачем такой гемор - задания куратора. Вопрос заключается в том, можно ли реализовать интерфейс, с четким указание что возращать в момент реализации в пользовательском классе?
0
|
12.01.2015, 08:50 | |
Ответы с готовыми решениями:
18
Реализация шаблонного интерфейса Реализация метода интерфейса Почему не компилируется реализация обобщенного метода интерфейса? Различная реализация метода при наследовании интерфейса |
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
|
|
12.01.2015, 10:07 | 2 |
не понятен вопрос, можно реализовать лишь то что указано в контракте (интерфейсе)
то есть как сигнатура указана в интерфейсе. точна такая должна быть и в реализуемом методе показывайте что такое SomeClass1List
0
|
4 / 0 / 0
Регистрация: 12.01.2015
Сообщений: 51
|
|||||||||||
12.01.2015, 10:25 [ТС] | 3 | ||||||||||
SomeClass1List - лист сущностей EntityFramework. То есть Сущность.ToList();
0
|
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
|
|
12.01.2015, 10:33 | 4 |
Segat, вы пытаетесь сделать репозиторий?
тогда это все по другому делается как сущностей , что за класс?
0
|
4 / 0 / 0
Регистрация: 12.01.2015
Сообщений: 51
|
|
12.01.2015, 10:36 [ТС] | 5 |
Дайте плиз ссылку на репозиторий, про класс, в нем вся работа с сущностями(все поверки, добавление/изменение/удаление, выборки необходимые для моей программы и т.д.)
0
|
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
|
|
12.01.2015, 10:41 | 6 |
вот дженерик репа
http://www.codeproject.com/Tip... -Dependenc
0
|
4 / 0 / 0
Регистрация: 12.01.2015
Сообщений: 51
|
|||||||||||
13.01.2015, 08:27 [ТС] | 7 | ||||||||||
Репозиторий всё-таки немного не то, что я хотел. т.к.
То есть при вынесению в отдельную функцию
Добавлено через 20 часов 56 минут Если кто-то сюда заглянет ещё: репозиторий для каждой таблицы у меня есть, то что я просил тут должно было стать просто помощью разработчику интерфейса вин формы. В целом для этого же начинал тему про SQL, для уменьшения работы на вин форме. А писать общий репозиторий чего-то не хочется.
0
|
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
|
||||||||||||||||
13.01.2015, 11:36 | 8 | |||||||||||||||
Сообщение было отмечено Metall_Version как решение
Решение
Segat, нет я имел ввиду как раз репу дженерик, где каждый метод работы с хранинилещем описывается один раз, не нужно для каждой сущности его писать..
вот нашел в закромах старенькую репу, Кликните здесь для просмотра всего текста
как видно ограничение стоит по базовой сущности, репа писалась для EF codefirst, базовая сущность там класс с одним полем ID (грубо говоря), от этого класса все остальные наследуются а вот сам интерфейс Кликните здесь для просмотра всего текста
Добавлено через 6 минут а пользоваться ей вот так
где context это контекст от EF, производный от DbContext
1
|
4 / 0 / 0
Регистрация: 12.01.2015
Сообщений: 51
|
|
14.01.2015, 11:38 [ТС] | 9 |
тут using (var repa = new Repository<SomeClass1>(context)) есть, а я хотел попытаться пройти через, если я правильно помню название, позднее связывание, т.е. выбирая наследника в процессе работы программы, используя ссылку на родителя. Интерфейсом шаблонным, али родителем это делать мне без разницы. К слову я EF брал кальку с существующей бд, разве он не создаёт аналог репозитория?
Добавлено через 3 часа 25 минут Кароче, пока буду говорить с куратором о переходе на чистий sql. Буду использовать DataTable+ наследование. Спс всем кто отписыавлся тут! Добавлено через 32 секунды Хотя если кто-то поймет о чем я, и отпишет буду искренне рад.
0
|
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
|
|
14.01.2015, 12:44 | 10 |
0
|
286 / 192 / 56
Регистрация: 25.12.2012
Сообщений: 640
|
||||||
15.01.2015, 11:57 | 11 | |||||
Может так
0
|
4 / 0 / 0
Регистрация: 12.01.2015
Сообщений: 51
|
||||||
16.01.2015, 11:44 [ТС] | 12 | |||||
Добавлено через 17 часов 50 минут Добавлено через 2 часа 34 минуты Кароче теперь только 1 вопрос, я вызываю шаблонный метод внутри функции можно ли ему передать тип как параметр?
void func() { Some.GetEAll<Some.Somemetod()>();//Метод возвращает тип } [/CSHARP] тут ругается на выделенные скобочки.
0
|
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
|
|||||||||||
16.01.2015, 14:13 | 13 | ||||||||||
для этого я привел пример с обобщенным классом, его так и юзают, например метод получения всех сущностей
а вообще в более менее серьезных проектах, к репе нужно писать уровень bll, в которой инкапсулировать всю работу с репой.
0
|
4 / 0 / 0
Регистрация: 12.01.2015
Сообщений: 51
|
|
16.01.2015, 19:41 [ТС] | 14 |
List<someclass> list;
Вот ЭТО я хочу передать как параметр в функцию, а она воротит нос и пишет что ничего не знает.
0
|
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
|
|
16.01.2015, 23:41 | 15 |
в какую функцию, если делать по моему примеру то все работает, только у меня нету методов обобщенных, а только класс...
0
|
4 / 0 / 0
Регистрация: 12.01.2015
Сообщений: 51
|
||||||
17.01.2015, 15:18 [ТС] | 17 | |||||
SomeType - мне это придется все равно указывать руками где-то, я же хотел просто передавать тип берущийся из, допустим, метода и забивать его как параметр.
Люди я понимаю, что вы хотите подставлять тип, каждый раз когда идет обращение к сущности(репозиторию), но епт, мне религия непозволяет брать и по 13 АБСОЛЮТНО идентичных действий не выносить в функцию.
0
|
Master of Orion
|
||||||
17.01.2015, 19:16 | 18 | |||||
0
|
4 / 0 / 0
Регистрация: 12.01.2015
Сообщений: 51
|
|
18.01.2015, 12:02 [ТС] | 19 |
0
|
18.01.2015, 12:02 | |
18.01.2015, 12:02 | |
Помогаю со студенческими работами здесь
19
Реализация интерфейса реализация интерфейса Реализация интерфейса Реализация интерфейса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Блоги программистов | |||||
Обновление сайта www.historian.by
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
|
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
|
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list):
s=^y]
p=x and y
for i in range(1,len(x)):
s. append((x^y)^p)
p=(x and y)or(p and (x or y))
return s
x=list()
y=list()
|
Это мы не проходили, это нам не задавали...(асихронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
|
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
|
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения
PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
|
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
|
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
|
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9
Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
|
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev
wget. . .
|
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin.
Есть ещё регистры,. . .
|
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps
Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
|