|
Как сериализовать объект у которого в свойствах хранятся интерфейсы ?
|
|||
---|---|---|---|
#18+
Привет. Есть простой класс, у которого имеется три открытых поля, в которых хранятся интерфейсы. Он сам даже не знает что под этими интерфейсами. Класс помечен атрибутом [Serializable]. При этом, классы, которые скрываются в этих интерфейсах, тоже пометил атрибутом [Serializable]. При попытке создать XML-Cериализатор ругается Код: c# 1.
{"Невозможно сериализовать член Myobj.Field1 типа IFieldToCompute, т.к. он является интерфейсом."} Как эту проблему обойти ? Теоретически я конечно могу создать базовый класс, вместо интерфейса. Но не факт, что у меня будет родственная связь между классами. Т.е. мне, все же, нужен интерфейс. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2013, 18:59 |
|
Как сериализовать объект у которого в свойствах хранятся интерфейсы ?
|
|||
---|---|---|---|
#18+
Нашел решение BinaryFormatter умеет сериализовать интерфейсы. Он просто сериализует сам класс, который скрывается под интерфейсом. Это легко увидеть, если открыть сохраненный файл в текстовом блокноте - там видны полные имена классов, которые сохранены. Собственно, именно этого поведения я и ожидал от XML сериализатора. Интересно, почему XMLSerializator не делает этого же. Раз бинарный это умеет делать, значит это возможно. Не понятно, какая религия запретила разработчикам добавить эту возможность в XMLSerializator. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2013, 19:49 |
|
Как сериализовать объект у которого в свойствах хранятся интерфейсы ?
|
|||
---|---|---|---|
#18+
WebStudent...какая религия запретила разработчикам добавить эту возможность в XMLSerializator. Это вопрос с собеседования Пользуйтесь гуглом - он и поможет и объяснит :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2013, 21:08 |
|
|
start [/forum/topic.php?fid=20&msg=38381659&tid=1404143]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 332ms |
total: | 494ms |
0 / 0 |