DataContractSerializer
От: Norex Россия  
Дата: 05.03.10 14:48
Оценка:
Подскажите, как можно разрулить следующую ситуацию:
Дан класс, BaseModule, определение которого находиться в сторонней сборке.
Имеется наш класс SampleModule отнаследованый от BaseModule.
SampleModule помечен как [DataContract] а вот BaseModule — нет

Можно ли как-то "объяснить" DataContactSerializer'у, что как только он встретит BaseModule и попытается его
сериализировать — то должен он это проделать над каким-то fake-object'ом.. или ещё как-то.

Вопрос: как сериализировать что-то подобное.
(как его десериазизировать — это уже другой вопрос, и на него мы ответ знаем).
wcf datacontractserializer
Re: DataContractSerializer
От: SergeyT. США http://sergeyteplyakov.blogspot.com/
Дата: 05.03.10 17:36
Оценка:
Здравствуйте, Norex, Вы писали:

N>Можно ли как-то "объяснить" DataContactSerializer'у, что как только он встретит BaseModule и попытается его

N>сериализировать — то должен он это проделать над каким-то fake-object'ом.. или ещё как-то.

N>Вопрос: как сериализировать что-то подобное.

N>(как его десериазизировать — это уже другой вопрос, и на него мы ответ знаем).

Вроде бы классическая работа для суррогатов.
См.: Data Contract Surrogates

GetDataContractType

The GetDataContractType method maps one type to another. This method is required for serialization, deserialization, import, and export.

The first task is defining what types will be mapped to other types. For example:

On serialization, the mapping returned by this method is subsequently used to transform the original instance to a surrogated instance by calling the GetObjectToSerialize method.

Оно?
Re[2]: DataContractSerializer
От: Norex Россия  
Дата: 05.03.10 22:10
Оценка:
Здравствуйте, SergeyT., Вы писали:
ST>Вроде бы классическая работа для суррогатов.
ST>См.: Data Contract Surrogates

я подозревал, но хотел подтвердить.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.