2013-07-16 3 views
0

У меня есть объект типа Typeсериализуйте объект, не связанный с сериализацией типа Type?

Type typ = CreateDynamicType(); 

и создание объект этого типа

object instance = Activator.CreateInstance(typ); 

Этот экземпляр не создает отлично .Still никаких проблем. Теперь у меня есть два метода CreateRawXML(), createSOAPXml(). Оба сериализуют объект и возвращают сериализуемую строку. Мне нужен rawxml и SOAPXML. В первом случае Raw XML создается отлично, но когда я пытался создать SOAPXML, он получает ошибку (не может сериализовать объект). I проверить свойство iserializable этого объект его False.As метаданных и только для чтения свойства я не могу изменить его ..

Либо я должен создать объект сериализации из этого не сериализуемым объекта Или мне нужно создать SOAPXML из Raw XML Or что-то еще ... Пожалуйста, предложите ...

Я создаю этот класс типа из метода CreateDynamicType() на лету, используя отражение. Я делаю все это для запроса WCF Просьба предложить

+0

Вы добавили бы содержимое своего CreateRawXML и createSOAPXml или какую-либо дополнительную информацию о том, как они работают (какой тип вы используете для сериализации, например), если они слишком сложны? Возможно, мы сможем помочь вам без этого, но если вы дадите нам больше информации, мы сможем лучше настроить ваш вопрос. –

ответ

0

Вам не нужно сериализовать Type - рассмотреть, если сериализации полное имя типа (возможно, с полным именем узла он приходит из нее, чтобы загрузка типа легче) достаточно для вашего дела.

Определенно, если вы попытаетесь создать объект такого типа в каком-то удаленном процессе, достаточно просто указать полное имя типа (при условии, что другой процесс имеет доступ к сборке, реализующей этот тип).

+0

Я не думаю, что он пытается сериализовать Type, я думаю, он пытается сериализовать экземпляр типа. EDIT: erm, до сих пор не определен. Я имею в виду, похоже, что он получает тип во время выполнения, создавая его экземпляр, а затем пытается сериализовать этот экземпляр. –

+0

@DavidSchwartz - вы правы - название похоже на сериализацию 'Type', но тело не говорит об этом ... Я оставлю его как есть на данный момент - возможно, OP будет комментировать ... –

+0

@DavidSchwartz думает в идеальном состоянии путь ... Я точно ищу то же самое –