Атрибут XmlSerializer и InternalsVisibleTo - PullRequest
2 голосов
/ 22 января 2009

Можно ли заставить XmlSerializer сериализовать внутренних членов класса, используя атрибут InternalsVisibleTo?

Если это так, для какой сборки я должен сделать видимыми мои внутренние органы. Другими словами, какое имя сборки и открытый ключ я должен предоставить атрибуту InternalsVisibleTo.

Ответы [ 2 ]

2 голосов
/ 22 января 2009

Это общий вопрос, пожалуйста, смотрите это сообщение:

Может ли внутренний установщик свойства быть сериализован?

DataContractSerializer позволит вам сериализовать любых членов, которых вы хотите. Так как это дополнительный метод сериализации, вам нужно будет аннотировать класс по мере необходимости.

Редактировать

После перечитывания вашего вопроса DataContractSerializer может сработать, но это может быть не то, что вы хотите сделать. XMLSerializer будет работать с InternalsVisibleTo, так как он сможет видеть этих участников, но я бы порекомендовал вам взглянуть на DataContractSerializer, поскольку это (на мой взгляд) лучший сериализатор.

0 голосов
/ 25 ноября 2011

Из этих комментариев кажется, что упущение jrista не совсем корректно: классы XmlSerializer генерируются динамически, поэтому имя для классов, добавляемых в "InternalsVisibleTo", не может быть известно заранее. Если вы предварительно не скомпилируете эти сериализаторы, как объяснено в другом вопросе.

...