1
我是新來的protobuf網,我想知道是否存在影響哪些對象序列化,如果我有一個對象圖,並要序列部分定位的可能性。我想到了某種回調或類似的東西。protobuf網:回調決定哪些對象序列化
我是新來的protobuf網,我想知道是否存在影響哪些對象序列化,如果我有一個對象圖,並要序列部分定位的可能性。我想到了某種回調或類似的東西。protobuf網:回調決定哪些對象序列化
兩個標準(使用其他框架)模式支持有條件的序列化 - 如果我們有:
public Foo SomeProperty {get;set}
然後之一:
public bool ShouldSerializeSomeProperty() {...}
或者:
public bool SomePropertySpecified {
get {...}
set {...}
}
應該工作正常。返回true到serialise,false返回忽略。根據您的目標框架,如果需要,通常也可能不公開。
這是否意味着聲明屬性SomeProperty也是類需要分別申報ShouldSerializeSomeProperty()或SomePropertySpecified,? – Ralf 2014-09-25 06:25:26
@Ralf是的,這是目前支持的已建立的,預先存在的(pre-dating protobuf-net)模式。請注意,通過'RuntimeTypeModel',您可以將方法設置爲對象上的任何*實例方法/訪問器(不強制任何特定的名稱約定),但是:是的:它們必須在擁有數據的類型上聲明。當然,如果這很不方便,你可以使用*序列化代理* - protobuf-net支持在序列化過程中在兩個相關表示之間交換,如果模型中的某些類型比其他類型更不易於序列化 – 2014-09-25 07:27:02