0
我有一个用于将数据序列化到xml的模型。为数据绑定创建可观察模型
防爆
public class File : IFile
{
[XmlAttribute]
public string ObjectId;
public string OriginalFileName { get; set; }
public string FileName { get; set; }
public int Size { get; set; }
public string Note { get; set; }
public static explicit operator File(FileItem a) // explicit File to FileItem conversion operator
{
File b = new File(); // explicit conversion
b.ObjectId = a.ObjectId;
b.Note = a.Note;
b.FileName = a.FileName;
b.OriginalFileName = a.OriginalFileName;
b.Size = a.Size;
return b;
}
}
这些类主要用于读取并保存worddocument内的XML文档。 在主应用程序的内部,我需要数据是可观察的,所以在这种情况下,我使用棱镜,并且类从NotificationObject继承。
防爆
public class FileItem : NotificationObject, IFile
{
public FileItem()
{
}
public static explicit operator FileItem(File a) // explicit File to FileItem conversion operator
{
FileItem d = new FileItem(); // explicit conversion
d.ObjectId = a.ObjectId;
d.Note = a.Note;
d.FileName = a.FileName;
d.OriginalFileName = a.OriginalFileName;
d.Size = a.Size;
return d;
}
private string _objectid;
public string ObjectId
{
get { return _objectid; }
set
{
if (!value.Equals(_objectid))
{
_objectid = value;
this.RaisePropertyChanged(() => this.ObjectId);
}
.................
所以我要做的就是,我第一次读取XML文件到文件类,然后我需要将其转换成的FileItem类,当我想将它存回XML我需要再次进行反向转换。这对我来说似乎有点难以理解。我可以想到一个解决方案,我直接序列化到FileItem,但我需要保持文件简单,因为它是由不需要通知对象的其他组件中使用的程序集中定义的,并且不会安装棱镜程序集。
关于如何简化这一点的任何想法。
看起来像一个好主意,我读了一些关于我,并与Nuget。我还没有想出如何获得最近的样品,但它似乎是我在寻找什么 – klashagelqvist