Как выделить только некоторые свойства в .Net? - PullRequest
4 голосов
/ 16 марта 2010

Это для веб-проекта, поэтому у меня есть несколько классов, которые наследуются от Web.UI.

Я хочу сериализовать только определенные свойства (в основном, только локальные свойства)

Мне известно о свойстве XMLIgnore, которое можно поместить в свойство, чтобы игнорировать элементы, но в моем контексте это не сработает, поскольку для этого потребуется изменить кучу вещей, которые я действительно не хочу изменять ( и, вероятно, не может).

Итак, как мне сказать сериализатору xml игнорировать все, кроме X и Y, или сказать, чтобы он разделял только X и Y?

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

Спасибо

Ответы [ 3 ]

2 голосов
/ 16 марта 2010

Почему бы вам не реализовать IXmlSerializable ?

2 голосов
/ 16 марта 2010

Для пользовательской сериализации вы можете получить свой класс из ISerializable интерфейса и соответственно предоставить пользовательскую сериализацию

0 голосов
/ 16 марта 2010

Вы можете взломать его и просто вырвать материал из XML после его возвращения.

Это ужасная идея по сравнению с XMLIgnore, который является правильным решением, но вы, конечно, можете открыть XML, прокрутить его и удалить все, что не хотите видеть.

Иногда ужасные идеи - лучшие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...