小编Lin*_*Lin的帖子

使用protobuf-net反序列化后的不一致

我在使用 protobuf-net 反序列化后面临不一致的问题。

我想序列化/反序列化的类看起来像:

[ProtoContract]
public class TSS
{
    [ProtoMember(1, AsReference = true)]
    public EventManager eventManager { get; private set; }

    [ProtoMember(2)]
    public DateTime referenceDateTime { get; private set; }

    [ProtoMember(3)]
    public Mode mode;
}
Run Code Online (Sandbox Code Playgroud)

在 EventManager 类中,它看起来像:

[ProtoContract]
public class EventManager
{
    [ProtoMember(1)]
    public InputQueue inputQueue = new InputQueue();
    [ProtoMember(2)]
    public InputQueue InputQueue
    {
        get { return this.inputQueue; }
        set { this.inputQueue = value; }
    }
    [ProtoMember(7, AsReference = true)]
    public TSS tss;
}
Run Code Online (Sandbox Code Playgroud)

EventManager类中的tss是TSS对象的引用,TSS类中的eventManager是EventManager对象的引用。这就是我放在AsReference = true那里的原因(这是正确的方法吗?) …

c# serialization protocol-buffers protobuf-net

4
推荐指数
1
解决办法
1329
查看次数

如何在C#中访问其成员函数时阻止调用一个类的构造函数?

我有一个班级A和一个班级AStore.我的要求是阻止所有其他方法初始化类的实例A,他们应该从中获取实例AStore.另外,我还需要A从实例访问成员函数.

工厂模式不适合这个问题,因为构造函数A仍然是公共的.理想情况下,在调用类的构造函数时,它应该抛出编译错误,A同时可以访问其成员函数.

我可以获得C#解决方案吗?

c# constructor design-patterns private

3
推荐指数
1
解决办法
112
查看次数