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