2014-01-14 1 views
3

Я пытаюсь сериализации простого пользовательского класса, который имеет закрытые член, используя protobuf-net библиотеки для приложения Windows Store стиля:Сериализации частных пользователей с Protobuf-сетью для окон магазина приложений

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

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

Когда я сериализация экземпляр частного члена никогда не сериализуется, а игнорируется. Публикация этого сообщения разрешает проблему, но на самом деле это не удовлетворительное решение для моего приложения. Есть ли что-то, что я делаю неправильно здесь, или кто-нибудь знает, если это известная ошибка (я искал, но ничего не мог найти)?

ответ

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); 
     } 
    } 
+0

Хотя я мог бы использовать расширение для решения этой проблемы, на самом деле это не дает адекватного решения. Всякий раз, когда я использовал библиотеку protobuf-net на любой другой платформе (Windows/Mono/Xamarin.Android/Xamarin.iOS), я всегда мог сериализовать закрытых членов. Вы знаете, является ли это фундаментальным ограничением приложений Windows Store, которые предотвращают сериализацию частных членов? – mcd40

+0

Если вы использовали его в Windows, не должно быть никаких ограничений. Это одна и та же версия? Лично я раньше не работал с этой библиотекой. – crea7or

Смежные вопросы