![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| FatherFrost |
|
|||
|
Почетный Мороз ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 27.4.2005 Где: Крайний север Репутация: нет Всего: 6 |
Есть класс отнаследованный от типизированного листа, в нем определено паблик проперти. При работе с классом проблем нет, но при сериализации я на выходе получаю сериализацию типизированного листа без моего свойства. Т.е. мое свойство просто игнорируется.
Заранее спасибо всем откликнувшимся. Это сообщение отредактировал(а) FatherFrost - 26.7.2006, 14:12 -------------------- Задаю много глупых вопросов.... |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
FatherFrost, сериализация бинарная или XML ? Если XML, то у свойства должен быть set-аксессор.
-------------------- ![]() |
|||
|
||||
| FatherFrost |
|
|||
|
Почетный Мороз ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 27.4.2005 Где: Крайний север Репутация: нет Всего: 6 |
Используется XML сериализация, но при этом для свойства определены оба аксессора (и сет и гет). Так что вопрос проблема все таже.
-------------------- Задаю много глупых вопросов.... |
|||
|
||||
| FatherFrost |
|
||||
|
Почетный Мороз ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 27.4.2005 Где: Крайний север Репутация: нет Всего: 6 |
вот пример кода:
В чем здесь может быть проблема? Это сообщение отредактировал(а) FatherFrost - 27.7.2006, 07:42 -------------------- Задаю много глупых вопросов.... |
||||
|
|||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Нашёл такую штуку в мсдн:
Добавлено @ 10:59 Как вариант, можно агрегировать список в другой объект и реализовать свойства там. -------------------- ![]() |
|||
|
||||
| ALEXn |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 27.7.2006 Где: Ryazan Репутация: нет Всего: нет |
Если использовать агрегацию, то мы получим XML в виде
Видимо все-таки придется формировать требуемый XML, не используя сериализацию, а напрямую......... Вообще число элементов списка заранее известно, так что класс можно отнаследовать и от обычного object'а Есть такой вариант: в классе будет 3 одинаковых элемента:
Но при этом сериализация ругается, что элемент String ([XmlElementAttribute("string")]) может быть только один. Задача у нас следующая: получить валидный XML для общения с другой программой. Думалось, что сериализация подходит для решения данной проблемы как нельзя кстати. Видно все-таки не так.... |
||||
|
|||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
ALEXn aka FatherFrost, а почему под разными никами заходим ?
Добавлено @ 13:46 З.Ы. по-моему вполне логично, что собственные проперти класса отделяются от коллекции объектов, которую этот класс (как потомок List<T>) реализует. Иначе непонятно было бы, к примеру, как десериализовать из XML, в котором у элементов коллекции и пропертей одинаковые теги (ведь такое в принципе можно организовать). -------------------- ![]() |
|||
|
||||
| ALEXn |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 27.7.2006 Где: Ryazan Репутация: нет Всего: нет |
1. Просто мы с FatherFrost'ом работаем в одной организации, т.е. коллеги.
И бьемся над общей проблемой. Фактически вопрос мой. Просто я сначала просил FatherFrost'а задать вопрос, а потом все-таки решил зарегистрироваться сам. Извините пожалуйста, если что не так. 2. Да это логично. Но десериализация нам собственно не нужна. Мы подумали: а вдруг?, но видно ничего не получится.... Спасибо за ответы. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Ok, welcome на форум
Это ограничение фреймворка, и имхо вряд ли что-то получится сделать стандартными способами. -------------------- ![]() |
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
А если реализовать ISerializable и самим влиять на то, что пойдет в XML ?
|
|||
|
||||
| ALEXn |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 27.7.2006 Где: Ryazan Репутация: нет Всего: нет |
А есть ли какой-нибудь примерчик? Насколько сложна подобная реализация? Или может все-таки будет проще формировать XML-документ вручную через XMLDocument ? Это сообщение отредактировал(а) ALEXn - 31.7.2006, 06:32 |
|||
|
||||
| Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: 9 Всего: 62 |
Ужас! Пробовал реализовать ISerializable, так там чёрт ногу сломит. Не проще ли вручную написать метод сериализации?
|
|||
|
||||
| ALEXn |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 27.7.2006 Где: Ryazan Репутация: нет Всего: нет |
Примерно так и сделали.
Только с использованием XmlDocument XML = new XmlDocument(); |
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
||||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |