protobuf-net

    2熱度

    1回答

    的未知線型異常我已經開始使用Protobuf-net將Unity/iOS遊戲轉換爲保存狀態。它看起來像事情工作正常,直到我說這個實例變量GameState [ProtoMember(10)] public List<Unit> fUnits; 單位是 [ProtoContract] [ProtoInclude(21, typeof(ArtilleryUnit))] [ProtoInclu

    1熱度

    1回答

    假設我收到一個二進制流,我可以保證是proto-buf序列化,並且對於我們序列化的每條消息,ProtoMember(1)是(長)Id,是否有一種方法可以只提取一個字段,不關心類型或其他數據?

    1熱度

    1回答

    我的原始文件在Python中正常工作。然而,當我嘗試用硫辛酸來生成protobuf網的CS文件,它給了我一個錯誤信息的NullReferenceException:未將對象引用設置到對象 這裏的一個實例是我的原型文件 message Request { enum Type { CREDENTIALS = 0; // user credentials }

    4熱度

    2回答

    繼承我有這種模式: [ProtoContract] [ProtoInclude(2, typeof(TestRequest<>))] public class XClass<T> { public XClass() { } [ProtoMember(1)] public T Value { get; set; } } [ProtoCo

    1熱度

    1回答

    我正在流中寫入位置爲pos的整數數組。我基本上有一個int[]和我使用Serializer.SerializeWithLengthPrefix(stream, array, typeof(int[]), PrefixStyle.Fixed32, -1);。這附加到具有正確前綴長度的數組流中。 我想反序列化流中隨機索引的元素。一種方法可能是通過pos + (index*fixedLength)尋找流

    1熱度

    1回答

    我正在使用自定義結構體「PreciseTimeSpan」,它包含類似於數據類型long的ticks值的常規.NET TimeSpan。我想通過將ticks值序列化爲varint來序列化PreciseTimeSpan字段。到現在爲止,我爲每個PreciseTimeSpan字段創建了一個私有屬性,用於執行從long到long的轉換。但這很不方便。是否有可能序列化一個自定義類/結構作爲原始類型?

    2熱度

    1回答

    我對Unity3d中的protobuf-net有疑問。 是否可以序列化unity3d類型:GameObject。 例如,我有類型爲GameObject的類屬性,這個類是序列化的還是反序列化的? using ProtoBuf; using UnityEngine; ... [ProtoContract] public class Example { [ProtoMember(1

    1熱度

    1回答

    我正在構建第三方庫類的非默認RuntimeTypeModel。但是,我需要將一些字段標記爲參考,就像您可以使用[ProtoMember(N), AsReference=true]一樣進行標記。我如何將這些屬性應用到我的非默認RuntimeTypeModel中定義的類型的字段? UPDATE 我設法訪問通過MetaType.GetFields(場)和每一字段設置AsReference標誌分別,但我不

    0熱度

    1回答

    我正在嘗試爲名爲Transform的第三方類創建代理。我需要序列化它的一些公共成員,包括對另一個這樣的類實例的引用,並公開內部列表Transforms。所以我寫了替代品,但我不確定是否可以在替代品的字段上定義[ProtoMember]屬性,該屬性的類型爲Transform。或者他們應該是TransformSurrogate?現在,我的代碼是: [ProtoContract(AsReferenceD

    1熱度

    1回答

    目前我們定義了幾個包含System.Type字段/屬性的消息。 Protobuf-net處理System.Type的內置行爲在許多情況下都很好,但在我們的情況下不可用:我們確實希望類型序列化其全名,但需要通過名稱來控制查找。 我無法找到適當的工作解決方案。一方面,excellent answer解釋瞭如何爲System.Type註冊一個代理項目,但不幸的是,這似乎不再有效,因爲一個System.A