|
Вернуть нужный экземпляр generic класса
|
|||
---|---|---|---|
#18+
Добрый день всем, есть одна задачка, застрял по полной есть базовый репозиторий Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
есть Конкретный репозиторий Код: c# 1. 2. 3. 4.
и таких репозиториев десятки. Вот задачка - нужно сделать Класс которй бы имел метод который бы принимал входящим параметром Тип/объект типа /либо стринговый ключ и возвращал конкретный репозиторий, что то типа Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Пока что сломал голову, и прихожу к выводу что вроде как нельзя это сделать..Посоветуйте что-то пожалуйста, может есть какоето другое решение, рефлексия и т.д.. Но так как по времени сжат принимается любое хардкодное временное решение. Заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 12:11 |
|
Вернуть нужный экземпляр generic класса
|
|||
---|---|---|---|
#18+
Andr___!, Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 12:24 |
|
Вернуть нужный экземпляр generic класса
|
|||
---|---|---|---|
#18+
Да, спасибо, но как быть с методом Save ? Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 12:41 |
|
Вернуть нужный экземпляр generic класса
|
|||
---|---|---|---|
#18+
Вы уж определитесь... Генерики или рефлекшен... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 12:48 |
|
Вернуть нужный экземпляр generic класса
|
|||
---|---|---|---|
#18+
Я же вам говорю, нужно возвращать кокретный репозиторий. с его методами по какомуто ключу, сейчас уже не имеет особого значения как, важен результат ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 12:50 |
|
Вернуть нужный экземпляр generic класса
|
|||
---|---|---|---|
#18+
Andr___!, не пойму... смысла фразы ... с его методами Включите google... может просмотр ссылок, найденных по словам C# Generic Repository чем-то поможет гиганту мысли? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 12:58 |
|
Вернуть нужный экземпляр generic класса
|
|||
---|---|---|---|
#18+
Уважаемый buser, я в гугле уже искал, иначе бы я не искал свой пароль к этому форуму и не городил бы всю эту тему, вы можете чем то помочь ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 13:03 |
|
Вернуть нужный экземпляр generic класса
|
|||
---|---|---|---|
#18+
Dictionary<T,IRepsitory<T>> ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 13:11 |
|
Вернуть нужный экземпляр generic класса
|
|||
---|---|---|---|
#18+
Andr___!Да, спасибо, но как быть с методом Save ? [/src] А статическим не пробывали его сделать & ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 13:13 |
|
Вернуть нужный экземпляр generic класса
|
|||
---|---|---|---|
#18+
Andr___!Добрый день всем, есть одна задачка, застрял по полной есть базовый репозиторий Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
есть Конкретный репозиторий Код: c# 1. 2. 3. 4.
и таких репозиториев десятки. Вот задачка - нужно сделать Класс которй бы имел метод который бы принимал входящим параметром Тип/объект типа /либо стринговый ключ и возвращал конкретный репозиторий, что то типа Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Пока что сломал голову, и прихожу к выводу что вроде как нельзя это сделать..Посоветуйте что-то пожалуйста, может есть какоето другое решение, рефлексия и т.д.. Но так как по времени сжат принимается любое хардкодное временное решение. Заранее спасибо! через рефлекшн ищи, у кого базовым является твой generic с параметром entity, его и создавай. это если работвть с тем что есть ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 13:16 |
|
Вернуть нужный экземпляр generic класса
|
|||
---|---|---|---|
#18+
beg-in-erAndr___!Да, спасибо, но как быть с методом Save ? [/src] А статическим не пробывали его сделать & нет не пробовал. этого не нужно..Вы себе представляете что произойдёт )) проекту 10 лет, и во скольких местах вызывается Save Save должен как раз быть экземплярным ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 13:18 |
|
Вернуть нужный экземпляр generic класса
|
|||
---|---|---|---|
#18+
buserDictionary<T,IRepsitory<T>> то есть позаполнять этот дикшинери в моей фабрике, но потом надо вернуть конкретный репозиторий. и фабрика и метод который возвращает его, не должны быть Generic ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 13:41 |
|
Вернуть нужный экземпляр generic класса
|
|||
---|---|---|---|
#18+
Ну сделайте мапу в xml конфиге между типом ентити и типом репозитория в фактори - резолвите, как создать экземпляр объекта по его типу - гугл вам в помощь...... и вообще не совсем ясно - зачем менять что-то в старом проекте ни чего в нем не меняя, а токмо наворачивая новых граблей? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 13:54 |
|
Вернуть нужный экземпляр generic класса
|
|||
---|---|---|---|
#18+
Andr___!, а вообще с этим Код: c# 1.
вы хлебнёте по полной ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 14:23 |
|
Вернуть нужный экземпляр generic класса
|
|||
---|---|---|---|
#18+
pationAndr___!, а вообще с этим Код: c# 1.
вы хлебнёте по полной Это я уже понял, всё равно всем большое спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 14:56 |
|
Вернуть нужный экземпляр generic класса
|
|||
---|---|---|---|
#18+
затычка на пять копеек Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 15:10 |
|
|
start [/forum/topic.php?fid=20&gotonew=1&tid=1405153]: |
0ms |
get settings: |
12ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
12ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 318ms |
total: | 504ms |
0 / 0 |