Я ищу, кто настраивает сериализацию атрибута. Я думал, что это будет просто, но я не смог добиться того, что хотел сделать так, как хотел.Как создать пользовательский XmlAttribute Сериализация
Так вот простой пример:
Определение класса:
Class MyClass
{
[XmlAttribute("myAttribute")]
public int[] MyProperty { get; set; }
}
Xml Результат, который я хотел бы:
<MyClass myAttribute="1 2 3... N" />
Единственная работа вокруг я сделал, чтобы это было в поместите атрибут [XmlIgnore] и создайте другое свойство с некоторым кодом, который сделал преобразование.
Итак, мой вопрос, есть ли лучший способ, чем создать новое свойство? Может быть, есть какой-то TypeConverter, который вы можете создать, чтобы сериализатор использовал его?
Кроме того, я попытался использовать атрибут Type, но безуспешно. (Всегда получать исключения). Но из того, что я прочитал, это уже определенный тип данных.
[XmlAttribute("myAttribute", typeof(MyConverter))]
public int[] MyProperty { get; set; }
Другим интересным способом было бы так:
[XmlAttribute("myAttribute")]
[XmlConverter(typeof(MyConverter))]
public int[] MyProperty { get; set; }
Спасибо.
Редактировать Поскольку не было представлено никакого решения, как я искал, я, наконец, решил сделать выбор в пользу решения «IXmlSerializable».
Ваш суррогатной собственность именно то, чего он пытается избежать. – SLaks 2010-11-28 23:08:08