Я знаю, что я могу использовать Linq для сопоставления полей из XML в поля в ранее существовавшем объекте. Существуют ли какие-либо функции в .NET Framework (или других библиотеках), которые делают это менее ручным.C# - Гидрат существующего объекта с XML
Я хотел бы написать (и есть HydrateFromXml себя немного как AutoMapper делает):
var myObject = new MyObject(/*ctor args*/);
myObject = myObject.HydrateFromXml(string xml);
Edit:
Могу ли я использовать шаблон декоратора или простой объект обертку здесь? Удалить десериализацию непосредственно в тип, который обернут абстракцией, которая позволяет мелкозернистый контроль конструкции, в котором я нуждаюсь?
Я сделал несколько похожих признаков свойств с атрибутами сериализации. Затем напишите метод, который отражает выделенные свойства, а затем выкопайте в xml для содержимого, чтобы установить их. Говоря о том, что, если между конструкторами и гидратацией нет никакого перекрестка, о том, чтобы воссоздать его. Использовать сериализацию, чтобы получить один, затем установить аргументы конструктора? –
Могу ли я узнать, что означает «гидрат» в этом контексте? –
@ KennethK. Я думаю, что это проблема проблемы. Я хотел бы, чтобы свойства на 'myObject' были инициализированы с соответствующими значениями в XML, но это означает, что программа сообщает, как это сделать. Я искал что-то, что не связано с полями сопоставления вручную, но похоже, что это невозможно. – Ben