使用protobuf-net为windows store应用程序序列化私有成员

时间:2014-01-14 22:58:35

标签: c# windows-store-apps protobuf-net

我正在尝试使用protobuf-net库序列化一个包含私有成员的简单自定义类,用于Windows商店样式的应用程序:

[ProtoContract]
class ProtoTest
{
    [ProtoMember(1)]
    string Test;

    public ProtoTest(string test)
    {
        this.Test = test;
    }        
}

当我序列化一个实例时,私有成员永远不会被序列化,而是被忽略。让会员公开解决问题,但对我的应用程序来说并不是一个真正令人满意的解决方案。有没有什么我在这里做错了或有人知道这是一个已知的错误(我做了搜索,但找不到任何东西)?

1 个答案:

答案 0 :(得分:0)

protobuf-net wiki中的示例。

 [ProtoContract]
    public class StandaloneExtensible : IExtensible
    {
        [ProtoMember(1)]
        public int KnownField { get; set; }

        private byte[] buffer;
        Stream IExtensible.BeginAppend() {
            return Extensible.BeginAppend();
        }
        Stream IExtensible.BeginQuery() {
            return Extensible.BeginQuery(buffer);
        }
        void IExtensible.EndAppend(Stream stream, bool commit) {
            buffer = Extensible.EndAppend(buffer, stream, commit);
        }
        void IExtensible.EndQuery(Stream stream) {
            Extensible.EndQuery(stream);
        }
        int IExtensible.GetLength() {
            return Extensible.GetLength(buffer);
        }
    }