首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过DataContract序列化单例

通过DataContract序列化单例
EN

Stack Overflow用户
提问于 2012-07-24 22:42:09
回答 5查看 679关注 0票数 1

我在通过DataContract序列化和反序列化单例时遇到了问题。

首先是一些事实:

代码语言:javascript
运行
复制
1.) Singleton is "internal"
2.) Singleton contains Dictionaries

我的序列化和反序列化工作得很好,但这不是单例的正确方式。如果我反序列化xml,我总是生成一个单例的新实例,并覆盖单例对象的当前引用-但此后它就不再是单例了。

有谁知道吗?-谢谢。

EN

Stack Overflow用户

发布于 2021-02-17 18:49:42

代码语言:javascript
运行
复制
[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;
    }
}
票数 0
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11633326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档