Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ASP.NET MVC. Использование абстрактного класса в качестве свойства модели
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Столкнулся со следующей проблемой: у модели есть свойство, представляющее абстрактный класс (например "характеристики": для одной модели это будет H1, для другой H2 и т.д. Все они расширяют H0, который и является абстрактным). Так вот, при редактировании модели среда не может обработать это свойство, пишет: "Невозможно создать абстрактный класс". понятно, что абстрактный класс создавать нельзя, но как тогда добавить новую модель? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2014, 16:08 |
|
||
|
ASP.NET MVC. Использование абстрактного класса в качестве свойства модели
|
|||
|---|---|---|---|
|
#18+
simlex, нужно реализовать "связыватель" модели: Код: c# 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. для примера, абстрактный класс: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. как это работает. когда отдаёте модель на редактирование, запишите в поле Discriminator её конкретный тип (obj.GetType().ToString()), таким образом связыватель сможет создать этот конкретный тип во время биндинга. можно вместо строкового наименования типа хранить и передавать специальные Enum (в поле Discriminator), что будет конечно безопасней, но в качестве обобщённого примера решения вашей задачи пойдёт и так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2014, 22:20 |
|
||
|
ASP.NET MVC. Использование абстрактного класса в качестве свойства модели
|
|||
|---|---|---|---|
|
#18+
уточнение: protected virtual override Object CreateModel конечно же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2014, 22:23 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38721625&tid=1357072]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 369ms |

| 0 / 0 |
