标题有点混乱,希望有人知道这个标题更适合我的问题。
我正在尝试创建一个派生自的类,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])
但这只是提供了插入一项的机会。我考虑过使用 aforeach(Configuration c in temporaryObject
并一个一个地添加它们,但这不是最好的解决方案。
感谢您的任何提示!
编辑1:
我添加了 foreach 迭代以添加配置
internal void DeserializeFromBinaryFile(string path)
{
foreach (var c in Helper.GetObjectFromBinaryFile<Collection<Configuration>>(path))
{
Add(c);
}
}
这似乎工作正常。有人知道更好的模式吗?