我在通过DataContract序列化和反序列化单例时遇到了问题。
首先是一些事实:
1.) Singleton is "internal"
2.) Singleton contains Dictionaries我的序列化和反序列化工作得很好,但这不是单例的正确方式。如果我反序列化xml,我总是生成一个单例的新实例,并覆盖单例对象的当前引用-但此后它就不再是单例了。
有谁知道吗?-谢谢。
发布于 2021-02-17 18:49:42
[DataContract]
public sealed class SerializableSingletonPattern
{
public static SerializableSingletonPattern Instance { get; private set; } = new SerializableSingletonPattern();
[DataMember] public bool YourData { get; private set; }
// explicit static constructor so C# compiler will not mark type as beforefieldinit
static SerializableSingletonPattern() { }
SerializableSingletonPattern() // your constructor
{
}
[OnDeserialized]
void OnDeserialized(StreamingContext context)
{
Instance = this;
}
}https://stackoverflow.com/questions/11633326
复制相似问题