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);
}
}
这似乎很好地工作。有人知道更好的模式吗?
非常感谢您! –