0
標題有點混淆,希望有人可能知道我的問題更合適的標題。反序列化與DataContract集合<Class>派生類
我想創建一個派生自Collection<Classname>
的類來實現保存和加載配置文件的簡單方法。寫入文件沒有問題,但我無法實現反序列化函數。我不確定如何將反序列化的內容分配回我的實例。
現行辦法:
[DataContract(Name = "Configurations", Namespace = "")]
public class Configurations : Collection<Configuration>
{
internal void SerializeToBinaryFile(string path)
{
Helper.DumpObjectToBinaryFile(this, path);
}
internal void DeserializeFromBinaryFile(string path)
{
// Getting Error:
// This expression can not be used as an assignment target
this = Helper.GetObjectFromBinaryFile<Collection<Configuration>>(path);
}
}
我熟悉this.Add([Configuration])
但這只是給插入一個項目的機會。我想過使用一個foreach(Configuration c in temporaryObject
並逐一添加它們,但這不是最好的解決方案。
感謝您的任何提示!
編輯1:
我已經添加在foreach迭代添加配置
internal void DeserializeFromBinaryFile(string path)
{
foreach (var c in Helper.GetObjectFromBinaryFile<Collection<Configuration>>(path))
{
Add(c);
}
}
這似乎很好地工作。有人知道更好的模式嗎?
非常感謝您! –